APL/J言語:ランク"(クオート)
ランク"(クオート)は、m"nというように使われる場合、mというコンスタントな結果をnのそれぞれのセルに適用する。nの使われるランクは3 $&.|. $nである。たとえば$n=2ならば、三つのランクは2 2 2となり、$n=2 3ならば、三つのランクは3 2 3となる。負のランクは補数となり、m"(-r) yはm"(0>.(#$y)-r)"_ yと同等である。
従って、以下のようになる。
v=: 2 3 5 7 m=: i. 2 3 m ; (m"0 v) ; (m"1 v); (m"1 m) +-----+-----+-----+-----+ |0 1 2|0 1 2|0 1 2|0 1 2| |3 4 5|3 4 5|3 4 5|3 4 5| | | | | | | |0 1 2| |0 1 2| | |3 4 5| |3 4 5| | | | | | | |0 1 2| | | | |3 4 5| | | | | | | | | |0 1 2| | | | |3 4 5| | | +-----+-----+-----+-----+ v m" 1 2 m 0 1 2 3 4 5
ちなみに、_9:から9:までの動詞はコンスタント動詞であり、_9"_から9"_と同等である。以下の例を見よ。
odds=: 1: + 2: * i. odds 5 1 3 5 7 9