0
私はそれがローカル変数と同じ名前があるため、F内のグローバル変数aの値を変更することはできません:関数リターンを、aはまだ1の代わりに、12RebolまたはRedのローカル変数と同じ名前のグローバル変数を変更するにはどうすればよいですか?
私はグローバル変数を参照することができますどのようにa: 1
f: func[a][set 'a a]
>> f 12
== 12
>> a
== 1
ですa?グローバル変数のみを参照するように設定されていませんか?そうするためにローカル変数名を変更する必要があるのでしょうか、それとも両方の名前を保持する方法がありますか?
を*「だけグローバル変数を参照するようになって設定されていない」*何あなたが考えるかもしれないことですSET-WORDを使うことの違い! FUNCTION本体で - 自動的にローカルが必要なことを示唆するために集められています。 FUNCTION本体でSET-WORD!sを使用しないようにして、LIT-WORDのSETを使って割り当てを行うことができます。この場合、LIT-WORD! FUNCTIONの前にボディコード内にhadを割り当てることは、割り当てに使用されます。 *(はい、これはRube-Goldbergのインスピレーションを受けたものです:-P)* – HostileFork