“上下文”和“对象”有什么区别



在 Rebol 3 中,有函数 objectcontext

差异的目的是什么?

注意:作为参考,红色表示两者相同,object不存在在雷波尔 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
]]

append none块。为什么?这只是一个微小的区别吗?它值得一个单独的问题吗?

在所有 3 中:

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

附言版本之间的结构略有不同

context

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

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

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

contextobject提供相同的功能。 context来自 Rebol2,我认为它存在于 Rebol3 和 Red 中以实现向后兼容性。

object存在于 Rebol3 和 Red 中,几乎相同(在 R3 版本中它支持object [a: b: c:]样式,没有太大区别)

因此,您可以使用其中任何一个。我个人喜欢context.

相关内容

  • 没有找到相关文章

最新更新