LoginSignup
0
0

実行環境が IchigoJam か ORANGE pico かを判定する

Posted at

IchigoJamORANGE pico は、ともにBASIC言語を実行することができ、全く同じコードをそれぞれ実行できることもある。
そこで、環境を判別できれば、共通のコードで書ける部分は共通のコードを用い、配列やI/Oなどの異なる部分は分岐して実行できる可能性が出てくる。

IchigoJam では、ビットオア演算子の優先順位が比較演算子より高い。
(これは0.9系でも1.0系でも成り立つ)
一方、ORANGE pico では、ビット論理和演算子の優先順位が比較演算子より低い。
これを利用した、以下のプログラムで環境の判別を行うことができる。

10 IF 1|1<0 THEN GOTO 30
20 PRINT "IchigoJam":END
30 PRINT "ORANGE pico"

IchigoJam では 1|1<0(1|1)<0 すなわち 1<0 と解釈されるので、これは 0 になる。
一方、ORANGE pico では、1|1<01|(1<0) すなわち 1|0 と解釈されるので、これは 1 になる。

以下に、これを実際に IchigoJam と ORANGE pico でそれぞれ実行してみた結果を示す。

IchigoJam での実行結果

ORANGE pico での実行結果

実際に環境が判別できていることがわかる。

※IchigoJamはjig.jpの登録商標です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0