据我所知,该module!类型为受保护的命名空间提供了比object!该'use函数更好的结构.如何在模块中绑定单词 - 我注意到与未绑定单词相关的一些错误:
REBOL [Type: 'module] set 'foo "Bar"
Run Code Online (Sandbox Code Playgroud)
另外,Rebol如何区分module('foo)的本地字和系统函数('set)的字?
稍后更新,不久之后:
我看到有一个改变绑定方法的开关:
REBOL [Type: 'module Options: [isolate]] set 'foo "Bar"
Run Code Online (Sandbox Code Playgroud)
这有什么不同的做法?默认情况下使用此方法有什么问题?
这适用于shell级别:
>> a: "hello"
== "hello"
>> get to-lit-word "a"
== "hello"
Run Code Online (Sandbox Code Playgroud)
但在这样的函数中:
f: func [ arg1 ] [
v1: get 'arg1
? v1
v2: get to-lit-word "arg1"
? v2
]
>> f "goodbye"
V1 is a string of value: "goodbye"
** Script Error: arg1 has no value
** Where: f
** Near: v2: get to-lit-word "arg1"
Run Code Online (Sandbox Code Playgroud)
如何使用"get"获取参数值?