【发布时间】:2014-08-14 17:23:42
【问题描述】:
在 Rebol 3 中,您可以通过 append 向对象动态添加键和值:
>> foo: object [x: 10]
>> append foo [y: 20 z: 30]
== make object! [
x: 10
y: 20
z: 30
]
但是如果你用函数来尝试,它似乎不起作用:
>> foo: object [x: 10]
>> append foo reduce [y: does [print "y"] z: does [print "z"]]
** Script error: invalid argument: make function! [[][print "y"]]
** Where: append
** Near: append foo reduce [y: does [print "y"] z: does [print "z"]]
你可以用extend添加一个函数:
>> foo: object [x: 10]
>> extend foo 'y does [print "y"]
>> foo/y
y
但这只能让您一次添加一个。如何将任意键/值块添加到对象中,并使用其中的一些函数?
【问题讨论】: