0
>> example: make object! [
[        var1: 10
[        var2: var1 + 10
[        var3: now/time
[        set-time: does [var3: now/time]
[        calculate: func [value] [
[                var1: value
[                var2: value + 10
[            ]
[    ]
>>
>> example2: make object! third example
** Script Error: none is missing its value argument
** Near: calculate: func [value][
    var1: value
    var2: value + 10
]
>>

3番目の例の評価を防ぐ方法は?

4

2 に答える 2

1

おそらく最善の方法は、construct/withを使用することです。既存のオブジェクトに基づいてオブジェクトを作成します。

サンプルオブジェクトと追加のフィールドに基づいてオブジェクトを作成するには、次の手順に従います。

example2: construct/with [extra-field: 999] example

または同じフィールドで1つを作成する

example2: construct/with [] example
于 2009-10-18T21:37:28.710 に答える
1

また、Rebolのオブジェクトプロトタイピングを利用することもできます。

example2: make example []

または追加のフィールド

example3: make example [      
  var4: now/date
  set-date: does [var4: now/date]
]

またはフィールドを置き換える

example4: make example [
  calculate: func [value] [
    var1: value
    var2: value + 20
  ]
]
于 2009-10-20T14:58:05.037 に答える