此代码有效:
o: context [
a: 1
]
o/a
这不是:
o: context [
a: 1
return a
]
o
o/a
*脚本错误:路径o / a对整数无效!类型 * 地点:赶上 ***堆栈:
有没有办法使第二个作品起作用?
答案 0 :(得分:4)
return
将强制其函数返回所提供的任何值。问题是context
也是一个函数!因此,当您这样做时:
o: context [
a: 1
return a
]
o
字将被设置为context
函数的返回值,该函数采用一个块,并根据make object! ...
语义对其进行求值(请参见详细信息here),并在此过程中返回一个1
整数,因为这是您要求它执行的操作。
我不太确定在这种情况下您还期望什么。如果您想将o
设置为实际的object!
,那就不要使用return
。