アジェンダ@.(アトマークドット、アジェンダ)は、@.(アトマークドット、アジェンダ)の右側の引数の値に応じて左側のバッククオートで区切られた動詞の並びから選択された動詞が実行されます。他の言語でのcaseやwhenのような働きをします。右側の引数が動詞の場合、動詞の結果の値で左側の動詞が選択されます。
NB.9より小さければ倍、大きければ1/2にする。dorh=double or half dorh=: +: ` -: @. (]>9:) dorh " 0 primes=: 2 3 5 7 11 13 17 19 4 6 10 14 5.5 6.5 8.5 9.5 NB.0ならば_:、1ならば%:、2ならば*。マイナスの値の場合、後ろから。 _:`%:`*: @. * "0 a=: 2 1 0 _1 _2 1.41421 1 _ 1 4 NB.下記の結果は(1 2 3) * (6 5 4)と同じ g=: +`-`* x=: 1 2 3 [ y=: 6 5 4 (x g@.2: y) 6 10 12 NB.下記の結果は(5 4 3 2 1 0) * (4 3 2 1 0 _1) (] * < :) y=: 5 4 3 2 1 0 NB.Basis of factorial 20 12 6 2 0 0 NB.次の式は、要素が1より大きいかどうかで演算を変える 1:`(] * < :) @. (1: < ]) "0 y NB.Case statement 20 12 6 2 1 1 NB.次の式は自己参照再帰の$:(ドルマークコロン)を使用 1:`(] * $:@< :)@.(1: < ])"0 y NB.Self-reference for recursion 120 24 6 2 1 1 NB.cf.1:`(] * <:)@.* 5=>120 NB.右側がボックスの場合、かっこ化される +`-`*`% @. (1 0 3;2 0) (- + %) (* +) NB.3 (- + %) (* +) 4 => _12.8125 3 +`-`*`% @. (1 0 3;2 0) 4 _12.8125 NB.次の式は解析中。結果は((i.@!) A. i.) 3と同じ。 perm=: i.@i.@_2: ` ( [: ,/ (0: ,. $:&.< :) {"2 1 \:"1@=@i.) @. * perm 3 0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0