`context`和`object`有什么区别?

Gee*_*y I 4 rebol rebol3 rebol2 red

在Rebol 3中,有功能objectcontext.

差异的目的是什么?

注意:作为参考,红色表示两者相同,并且object在rebol 2中不存在

背景:没有双关语意图

最初,我想知道为什么我们context而不是make object!

现在,在学习了object用于制作物品的词之后,我很想知道为什么它们都是不同的,以及将不同的东西放在同一个东西上的理由make.

请注意,在rebol3中:

object: make function! [[
    "Defines a unique object."
    blk [block!] "Object words and values (modified)"
][
    make object! append blk none
]]
Run Code Online (Sandbox Code Playgroud)

appendnone.为什么?这只是一个小小的差异吗?它应该得到一个单独的问题吗?

在所有3:

context: make function! [[
    "Defines a unique object."
    blk [block!] "Object words and values (modified)"
][
    make object! blk
]]
Run Code Online (Sandbox Code Playgroud)

PS版本之间的构造略有不同

Doc*_*bel 5

context历史上在Rebol2中作为快捷方式引入make object!,并且更好地表示使用该对象提供用于组织用户代码的定义范围命名空间的意图.

object在Rebol3中添加了以便为快捷方式提供更自然的名称,并且在使用collect-words例如动态构造对象时更有用.

Red应该使用Rebol3 object定义,因为它提供了方便的额外功能.