Iのいずれか、または対話式コンソールからローディング水溶液スクリプトによってviewを定義することができるビューを定義:[KDB +/Q]:(再)プログラム(動的)
q)myview::a+b /even semi-programmatically using ugly strings: value"myview::a+b"
いくつかの探査:
q)value `. `myview
::
(+;`a;`b)
`a`b
"a+b"
私の新しくデザインされたビューは、地球環境辞書の一部になっています。
q)select myview from `.
myview| a+b
そのキーと値のペアの値部分は、ラムダ型のリストです:
q)-3!value select myview from `.
",a+b"
q) type first value select myview from `.
100h
{a+b}
は、ラムダ式であるだけでなく...
q)type {a+b}
100h
... a+b
と{a+b}
ではないにもかかわらず、同じこと:
q){a+b} ~ first value select myview from `.
0b
が質問: 今myview
であることグローバル環境で定義されている場合、そのビューを名前で参照することによって、つまり`myview
というように、その定義をプログラムで、つまりa+c
ラムダ式に変更するにはどうすればよいですか?例えば
、私は、この入力を処理することもできます。
q)config:()!(); config[`myview]:"a+c"
おかげで、式を使用してどのような方法ではなく、文字列操作? '' f ['myview; a + c] ''は 'c'エラーを投げます。そして評価を遅らせるために中括弧 '{a + c}'で式をカプセル化することは明らかに別のものです。 'myview | myviewの右側を操作して頭を上げることはできません。 a + c' –