1

RED では、変数を使用して関数を定義できます

Red [Title: "simple program"]

params: [myvar [integer!]]
body: [print [myvar]]
myfunc: function params body

myfunc 42 ; prints "42"

質問: 関数のシグネチャまたは本体を後で変更するにはどうすればよいですか?

4

1 に答える 1

1

spec-of と body-of を使用して、それぞれのブロックにアクセスできます

M: Function[a "test"][Print a]
Print mold Spec-of :m ; prints [a "test"]
Append Body-of :m 5
M 4 ; prints 4 returns 5

さらに興味深い変更を行うには、バインドが実装され、ブロック内の単語にアクセスできるようになるまで待つ必要がある場合があります。

于 2014-12-27T21:22:53.800 に答える