少なくともRebol 3が必要なものは次のとおりです。
func [
"Create an object based on some words and values."
words [any-word! block!] "Word or block of words"
values [any-type!] "Value or block of values"
/local object
][
object: make object! either block? words [length? words] [1]
set bind/copy/new :words object :values
object
]
設定されていない値の設定も許可したい場合は、これを試してください:
func [
"Create an object based on some words and values."
words [any-word! block!] "Word or block of words"
values [any-type!] "Value or block of values"
/any "Allows setting words to any value, including unset"
/local object
][
object: make object! either block? words [length? words] [1]
apply :set [bind/copy/new :words object :values any]
object
]
これらはどちらも を使用self
してオブジェクトを作成するため、 を使用せずにオブジェクトを作成する場合self
は、より手の込んだトリックを行う必要があります。詳しくはselfless
プロポーザルをご覧ください。