Rebol 3中有一個new implementation of FUNCTION,默認情況下允許變量自動綁定到本地上下文。內置FUNCTION和FUNCS插件有什麼區別?
功能似乎與VALUE有問題?測試,因爲它即使變量尚未在運行時設置尚未返回TRUE:
foo: function [] [
if value? 'bar [
print [{Before assignment, bar has a value, and it is} bar]
]
bar: 10
if value? 'bar [
print [{After assignment, bar has a value, and it is} bar]
]
]
如果調用FOO您將獲得:
Before assignment, bar has a value, and it is none
After assignment, bar has a value, and it is 10
這不是FUNC工作的方式(只有它BAR說在賦值後有一個值)。但是,然後FUNC不會自動將變量設爲本地。
我在這裏找到了FUNCS基元,由Ladislav Mecir創建的一個庫。它有什麼不同,它有相同的缺點嗎?
http://www.fm.vslib.cz/~ladislav/rebol/funcs.r
當你學習一些關於雷博爾和範圍,你可能想再次看看Rubol,比如這個測試:http://github.com/hostilefork/rubol/blob/master/scope-test.r – HostileFork 2010-07-18 05:03:04
我重新讀了ladislav bindology 10次,甚至都沒有理解,我認爲它會和你一樣,但我會努力;) – 2010-07-18 21:15:42