Rebol 3에 new implementation of FUNCTION이 있습니다.이 변수를 사용하면 기본적으로 변수를 로컬 컨텍스트에 자동으로 바인딩 할 수 있습니다.내장 기능과 FUNCS 추가 기능의 차이점은 무엇입니까?
FUNCTION에 VALUE 문제가있는 것 같습니다. 변수가 아직 실행시 설정되어 있지 않은 경우에도이 TRUE를 반환으로 테스트 : 당신이 FOO를 호출하면
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]
]
]
당신은 얻을 것이다 : FUNC가 작동하는 방법이 아니다
Before assignment, bar has a value, and it is none
After assignment, bar has a value, and it is 10
(그것은 단지 BAR은 과제 후 가치가 있다고 말한다). 그러나 FUNC는 자동으로 변수를 로컬로 만들지 않습니다.
Ladislav Mecir이 만든 라이브러리에서 FUNCS 프리미티브를 발견했습니다. 어떻게 다른가, 그리고 같은 단점이 있습니까?
http://www.fm.vslib.cz/~ladislav/rebol/funcs.r
당신이 REBOL 약 좀 더 배울 범위 지정, Rubol에 대한 두 번째 조사 (예 :이 테스트)를 원할 수 있습니다. http://github.com/hostilefork/rubol/blob/master/scope-test.r – HostileFork
나는 ladislav 바인딩을 10 번 다시 읽었으며 모두 이해할 수는 없지만 당신과 똑같을 거 같아서 열심히 노력할거야;) –