gpt4 book ai didi

bind - 不应该绑定(bind)? '全局变量返回系统/单词上下文?

转载 作者:行者123 更新时间:2023-12-02 00:05:20 24 4
gpt4 key购买 nike

在 Rebol2 中,如果全局上下文是 system/words,为什么会得到这个结果?

>> X: 0
== 0
>> same? system/words bound? 'X
== false

这个案例的背景是什么?还是在全局上下文中使用 same? 有问题? (我尝试重复第二个命令以防它改变上下文)

最佳答案

我认为这是一种解释器怪癖。您不会在 Rebol 3 中遇到它。事实是 bound? 的结果(结果)在 Rebol 2 中与“普通对象/上下文”有一些“类型位”的不同。这种差异会导致 same? 的意外结果。您获得了预期的结果,例如如下:

same? bound? 'X bound? 'system

顺便说一下,这可能是添加到测试套件中的一个很好的测试,如果还没有的话。 (在 Rebol3 中没有全局上下文,因此您可能需要使用一个对象来进行测试以适用于 Rebol2 和 Rebol3)。测试可能看起来像如下:

o: make object! [a: none]
same? o bound? in o 'a

如上所述,该测试在 Rebol 2 中失败,而在 Rebol 3 中通过。

与上面的测试相反,这个测试在 Rebol 2 和 Rebol 3 中都成功了:

o: make object! [a: none]
same? bound? first bind [a] o bound? first bind [self] o

关于bind - 不应该绑定(bind)? '全局变量返回系统/单词上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18754383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com