2

通常、私は::プリミティブを使用します:

SomeVariable"_ :: ] DefaultValue

その醜いSOBを包む方法を探しています。私はそれを推論しようとしています。通常、暗黙の定義があります。これは、例えば:

default =: 13 : 'x"_ :: ] y'

惨めに失敗します。もちろん、この文脈では:

SomeVariable default DefaultValue

SomeVariableが存在しない場合、Jは価数エラーをスローします。

では、どのようにラップできます::か?

4

2 に答える 2

2

::をラップすることはできますが、動詞の引数を指定する場合は、構文の問題に対処する必要があります。

たとえば、副詞を使用できます。

fault=:1 :0
  u"_ :: ]
)

または、操作している動詞を動名詞に変換して渡すこともできます(ただし、それは醜いので、必要ないと思います)。

于 2011-02-24T12:50:43.807 に答える
0

私が使う、

ORdef_z_ =: ".@[^:(_1< 4!:0@<@[)

 'asd' ORdef 3  NB. asd not assigned, returns right.
3
 asd =. 'asd' ORdef 3
asd=.'asd' ORdef 22  NB. will return 3 due to previous assignment
asd

3

于 2015-09-20T23:55:28.830 に答える