Rebol:找到了一种自动生成和动态执行代码的方法,有更好的方法吗?
我已经尝试过这个:
>> code-block: copy []
== []
>> append code-block [func[][print "a"] ]
== [func [] [print "a"]]
>> do do code-block
a
>>
有没有办法避免“做”两次:)
I have experimented with this:
>> code-block: copy []
== []
>> append code-block [func[][print "a"] ]
== [func [] [print "a"]]
>> do do code-block
a
>>
Is there a way to avoid to do "do" twice :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您放入代码块的不是函数,而是函数的源代码,因此需要执行一次来创建函数,然后作为一个函数再做一次。
您可以这样看到:
要将函数放入 code-block 中,可以这样做:
或者这样:
无论哪种方式,code-block 中的内容现在只是功能:
What you have put into code-block is not the function, but the source of the function, hence the need to do it once to make a function, then do it again as a function.
You can see that like this:
To just put the function in code-block, can do this:
Or this:
Either way, what is in code-block is now just the function: