1
這是作爲Cython - copy constructors中的註釋問及的。爲什麼Cython會在功能開始時強制當地人聲明
下面的代碼不會用Cython編譯:
def bar(int i):
if i == 0:
return i
else:
cdef int j
j = i+1
return j
,而這一次是完全正確的:
def foo(int i):
cdef int j
if i == 0:
return i
else:
j = i+1
return j
的問題是:爲什麼用Cython力之初申報j
函數,而不是在else
塊?