ORANGE-light リファレンスマニュアル
準備中

プログラム制御関連
代入文end文goto文gosub文if文for文while文def文return文var文

表示関連
print文locate文cls文

キーボード関連
input文inkey関数

タイマー関連
clt文、tickms関数、pause文

メモリー配列関連
mmax関数、mpoke文、mpokew文、mptr文、mdata文、mdataw文、mstr文、mpeek関数、mpeekw関数

乱数関連
rnd関数

I/O制御関連
ioctrl文、out文、pwm文、in関数、adc関数、i2cw関数、i2cr関数


1.プログラム制御関連

代入文
書式 変数 = 式
説明 変数に式を評価した結果を代入します。
c = a + b cにa + bの値を代入します。
互換性   すべてのORANGE-insideで同じ動きになります。 

end文
書式 end
説明 プログラムを終了します。
if x = 1 then end xが1のときにプログラムを終了します。
互換性   すべてのORANGE-insideで同じ動きになります。 

goto文
書式 goto 名札名
説明 指定した名札の次に制御を移します。
loop:
  x = x + 1
  print x
  if x <= 10 then goto loop



x <= 10のときにloop:の次に制御を移します。
互換性   すべてのORANGE-insideで同じ動きになります。 

gosub文
書式 gosub 名札名
説明 指定した名札の次に制御を移します。
その後、return文に出会うと、呼び出したgosub文の次に制御が戻ります。
x = 2
gosub calc
print x
end

calc:
  x = x * 100
  return  

calc:の次に制御を移します。





gosub calcの次に戻ります。
互換性   すべてのORANGE-insideで同じ動きになります。 

if文
書式 if 条件式 then 文1
if 条件式 then 文1 else 文2
説明 条件式が真ときは、文1を実行します。
条件式が偽ときは文2(elseがあるとき)または次の文(elseがないとき)に制御を移します。

条件式の真偽判定は次のように決まります。
真: 条件式を評価した結果が0以外のとき
偽: 条件式を評価した結果が0のとき

文1、文2には、複合文(文を「:」で区切ったもの)が使用できます。
if x < 10 then print "B"
if x = 10 then print "Y" else print "R"

if y = 0 then print "E": end else print "S"
x < 10のときはBを表示します。
x = 10のときはYを表示し、それ以外のときはRを表示します。

y = 0のときはEを表示し、プログラムを終了します。
それ以外のときはSを表示します。
互換性   すべてのORANGE-insideで同じ動きになります。 

for文
書式 for 制御変数 = 初期値 to 終値 文 next
for 制御変数 = 初期値 to 終値 step 増分値 文 next
説明 制御変数を初期値から終値まで、制御変数を変化させながら、forとnextの間の文を繰り返えし実行します。
制御変数はforとnextの間の文を実行するごとに増分値だけ変化します。
stepで増分値を指定しないときは、増分値は+1となります。
増分値には負数を指定することもできます。

繰り返し終了の判定は、以下の通りです。
・増分値が正のときは、制御変数の値が終値より大きくなったとき
・増分値が負のときは、制御変数の値が終値より小さくなったとき
for i = 1 to 10
  print i
next

for i = 1 to 9 step 2
  print i
next

for i = 9 to 1 step -2
  print i
next

for x = 2 to 9
  for y = 1 to 9
    print x;
    print " * ";
    print y
    print " = ";
    print x * y
  next
next
1から10までの整数を表示します。



1から9までの奇数を表示します。



9から1までの奇数を表示します。



掛け算九九の表を表示します。
互換性   すべてのORANGE-insideで同じ動きになります。 

while文
書式 while (条件式) 文 wend
説明 条件式が真のときは、whileとwendの間の文を繰り返し実行します。条件式が偽のときは、wendの次の文から実行します。

条件式の真偽判定は次のように決まります。
真: 条件式を評価した結果が0以外のとき
偽: 条件式を評価した結果が0のとき
i = 1
while i <= 10
  print i
wend
1から10までの整数を表示します。
互換性   すべてのORANGE-insideで同じ動きになります。 

def文
書式 def 関数名(引数) { 文 }
説明 関数を定義します。
defの後に関数名を書き、「(」と「)」の間に引数を書きます。引数が複数あるときは、「,」で区切ります。
「{」と「}」の間に文を書きます。文は複数個書けますが、関数から抜けるときは必ずreturn文が必要です。.
print min(1, 10)
print min(10, 10)
print min(100, 10)
end

def min(x, y) {
  if x < y then return x else return y
}
1を表示します。
10を表示します。
10を表示します。


xとyの小さい方を返す関数を定義します。
互換性   すべてのORANGE-insideで同じ動きになります。 

return文
書式 return
return 式
説明 呼び出したgosub文の次に制御が戻ります。.
def文の「{」と「}」の間にあるときは、式の指定が必要で、式を評価した値を返します。
gosub sub1
end

sub1:
 print func1(10)
 return

def func1(x) {
 return 10 * x
}
sub1を呼び出します。



func1の戻り値100を表示します。



引数を10倍した値を返します。
互換性   すべてのORANGE-insideで同じ動きになります。 

var文
書式 var ローカル変数
説明 def文の「{」と「}」の間で有効なローカル変数を定義します。
グローバル変数(通常の変数と同じ名前のローカス変数を参照するときは、ローカル変数が優先されます。
x = 1: y = 2: z = 3
print x
print y
print z
print add(100, 200)
print x
print y
print z
end

def add(x, y) {
  var z
  z = x + y
  print x
  print y
  print z
  return z
}

1を表示します。
2を表示します。
3を表示します。
300を表示します。
1を表示します。
2を表示します。
3を表示します。



ローカル変数zを定義します。
ローカル変数zに引数の和を代入します。
100を表示します。
200を表示します。
300を表示します。
300を返します。
互換性   すべてのORANGE-insideで同じ動きになります。 

2.表示関連

print文
書式 print 式または文字列
print 「;」で区切った複数の式または文字列
説明 式または文字列をコンソールに表示します。(表示後、改行します。)
式または文字列を「;」で区切って、複数の式または文字列を表示します。(「;」があると改行しないで、
次の式または文字列を表示します。)
print 10
a = 10: b = 20
print a + b
print "abcdef"
print "abc"; "def"
print "a + b = "; a +b
10を表示します。

30を表示します。
abcdefを表示します。
abcdefを表示します。
a + b = 30を表示します。
互換性   ORANGE-studio内ではコンソールウインドウに出力します。
ターゲットボード上では、ORANGE-insideの実装にに依存します。(CRTやLCD、シリアルコンソール等に出力されます。) 

locate文
書式 locate x座標, y座標
説明 指定した座標にカーソルを移動します。
locate 10, 10
(10, 10)にカーソルを移動します。
互換性   ORANGE-studioでは未実装です。(デバッグ用にlocate文の引数をコンソールに表示します。)
ターゲットボード上では、ORANGE-insideの実装に依存します。

cls文
書式 cls
説明 コンソールをクリアします。
cls
コンソールをクリアします。
互換性   ORANGE-studio内ではコンソールウインドウ内の文字を全消去します。
ターゲットボード上では、ORANGE-insideの実装に依存します。

3.キーボード関連

input文
書式 input 変数
input プロンプト文字列, 変数
説明 入力した値を変数に代入します。

ORANGE-studio内では以下の動作になります。
プロンプト文字列をコンソールに表示します。(プロンプト文字列を指定しない場合は、コンソールに「?」を表示します。)
入力ダイアログを出します。
入力ダイアログを閉じると、入力された数値を指定した変数に代入し、コンソールにも表示します。
ダイアログを取消ボタンで閉じたり、数値に変換できない場合には0を指定した変数に代入し、コンソールにも表示します。
input count
input "count = ? ", count
「?」をコンソールに表示し、入力ダイアログで入力した数値をcountに代入します。
「count = ? 」をコンソールに表示し、入力ダイアログで入力した数値をcountに代入します。
互換性   ORANGE-studio内では入力ダイアログで入力を行います。
ターゲットボード上では、ORANGE-insideの実装にに依存します。

inkey関数
書式 inkey()
説明 押されたキーのキーコードを返します。

ORANGE-studio内では常に0を返します。
keyCode = inkey()
押されたキーのキーコードをkeyCodeに代入します。
互換性   ORANGE-studioでは未実装です。(常に0を返します。)
ターゲットボード上では、ORANGE-insideの実装に依存します。