如何使用 rebol/red bind 将块参数传递给另一个函数?
How to use rebol/red bind to pass a block argument to another function?
我真的不明白它是否可以通过绑定或其他任何方式完成,文档 http://www.rebol.com/docs/words/wbind.html 对我没有帮助。我想将块参数从 f2 传递给 f1 :
f1: func[block][
foreach b block [
print b
]
]
f2: func[][
a: 1
b: 2
block: [a b]
f1 block
]
调用时
f2
打印出来
a
b
如何打印出来
1
2
在传递 [a b] 时(我不想传递 [1 2],因为它可以一直改变,这并不优雅)?绑定或其他任何东西都可以吗?
f1: func[block /local i][
foreach i block [
print get i
]
]
或
f1: func[block /local b][
foreach b reduce block [
print b
]
]
需要 Red 中的局部词,因为 Red 中的 foreach 变量词不是 foreach 循环的局部词。
我真的不明白它是否可以通过绑定或其他任何方式完成,文档 http://www.rebol.com/docs/words/wbind.html 对我没有帮助。我想将块参数从 f2 传递给 f1 :
f1: func[block][
foreach b block [
print b
]
]
f2: func[][
a: 1
b: 2
block: [a b]
f1 block
]
调用时
f2
打印出来
a
b
如何打印出来
1
2
在传递 [a b] 时(我不想传递 [1 2],因为它可以一直改变,这并不优雅)?绑定或其他任何东西都可以吗?
f1: func[block /local i][
foreach i block [
print get i
]
]
或
f1: func[block /local b][
foreach b reduce block [
print b
]
]
需要 Red 中的局部词,因为 Red 中的 foreach 变量词不是 foreach 循环的局部词。