使えます。
dim head, 7,1
mes 0 and 1 and 2 and 4
head(6,0 and 1 and 2 and 4) = -1
mes head(6, 0)
おそらくand演算への理解不足だと思います。多分ここでつまづかない人は存在しない。
目的は何なのかは置いておいて、ここはand演算の使い方についてまず説明した方がいいような気がします。
and演算はビット単位で行われます。組み合わせは以下の通り。
1 and 1 のとき 1
0 and 1 のとき 0
1 and 0 のとき 0
0 and 0 のとき 0
では次に、使用している数値 0,1,2,4についてどの様なビットになっているか2進数に変換して確認してみます。
10進数の 0 は、2進数では %000 (※%はHSP3で2進数表記する際の記号)
10進数の 1 は、2進数では %001
10進数の 2 は、2進数では %010
10進数の 4 は、2進数では %100
では次に 0 and 1 and 2 and 4 では何が起きているか。
評価の順番が分かりやすくなるよう括弧を付けてみます。
((0 and 1) and 2) and 4
これを順番に処理していきます。
0 and 1 = %000 and %001 = %000
(0 and 1) and 2) = %000 and %010 = %000
((0 and 1) and 2) and 4 = %000 and %100 = %000
つまり
0 and 1 and 2 and 4 = 0
ということで
head(6,0 and 1 and 2 and 4) = -1
これの実行結果は、以下の実行結果と同じとなります。
head(6,0) = -1
以下の資料も合わせて読むとより理解が深まると思います。
HSP講座/ビット演算 HSP開発wiki
https://wiki.hsp.moe/HSP%E8%AC%9B%E5%BA%A7%EF%BC%8F%E3%83%93%E3%83%83%E3%83%88%E6%BC%94%E7%AE%97.html
小ワザ/ビット操作 HSP開発wiki
https://wiki.hsp.moe/%E5%B0%8F%E3%83%AF%E3%82%B6%EF%BC%8F%E3%83%93%E3%83%83%E3%83%88%E6%93%8D%E4%BD%9C.html