以下で参照できます.
DUMP L_COMMAND
C言語のbreak文に相当するコマンドはありません.
(BREAKコマンドはありますが,デバッグ時の制御のためで,C言語のそれとは異なります)
GOTOでループから抜けて,DISCARD文でループ情報を削除できます.
FOR I=0,I<10 (I==5): GOTO END I++; NEXT .END; DISCARD
Q. ループ途中でループを継続するにはどうすればいいでしょうか
ひとつのFORに対してNEXTは複数位置に書けるため,任意の箇所でのループ継続ができます.
FOR I=0,I<10,I++ (I==5): NEXT PRINT I; NEXT
いいえ,違います.
RUNは様々な初期化が行われた後で実行が開始されます.通常の実行開始にはRUNを使ってください.
Q. 条件分岐の方法が様々にあるようですが,それぞれの使いどころがわかりません
条件に応じて実行を切り替えられる構文は,以下があります.
NLLがこれらの多くの構文を持っている理由は,1画面プログラム向けの言語として設計しているためです.
条件分岐を様々な書き方でかけて選べることで,状況に応じた最適な書き方ができるようになっています.
(C == '\n'): GONEXT
(I!=0): I++
(I!=0) &> I++これは,Iが0以外のときにI++が行われる,という意味になります.
(I!=0) &> PRINTF(I)
(X==0) &> (Y==0) &> (Z==0) &> FPRINT("zero vector")
IF (条件), (真の場合), (偽の場合); ENDIF
IF (X==0), (I++, J++); ENDIF
IF (X==0) PRINT "X==0" ELSE (X==1) PRINT "X==1" ELSE PRINT "OTHER" ENDIF
TYPE @ (FPRINT("A"), FPRINT("B"), FPRINT("C"))
ひとつのDATA文に書ける値は4個までです. 以下のようにして,DATA文を複数定義してください.
1 .LOOP 2 DREAD A; !A:GONEXT; PRINT A; GOTO LOOP 3 DATA 1,2,3,4; DATA 5,6,7,8; DATA 9,10,11,12; DATA 0
もしくは以下のようにしてベクトル値で定義して読み込んでください.
1 .LOOP 2 DREAD V; (!#V):GONEXT; FOR ,#V; PRINT 0@V; V = DELETE(0, %V); NEXT; GOTO LOOP 3 DATA (1,2,3,4,5,6,7,8) 4 DATA (9,10,11,12,13,14,15,16) 5 DATA ()