[新連載]復活!TINY BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
すべてはここからはじまりました。
中日電工も。
40年前を振り返りつつ新連載です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第24回]
●セパレータは’;’
前回’FIN’プログラムの説明のところで命令文の区切りには’;’(セミコロン)を使う、と書きました。
[第12回]でもそのように書いています。
確かに英文の説明でもそう書かれています。
おそらく英文の説明を読んでそのまま何の気なしに書いてしまったためにその時は特におかしいとも感じませんでした。
前回はそのまま書いたのですが、前回を書いている途中で「それって本当なの?」とちょっと疑問を感じました。
1行の中に複数の命令文を書くときには命令文と命令文の間の区切りマーク(セパレータ)は’:’(コロン)のはず。
念のために確認してみたところ、確かにN88BASICではセパレータは’:’になっています。
おそらく多くのBASICでもそうなっていると思います。
’;’(セミコロン)はPRINT文の中で要素と要素の間を空けないで続けて表示(出力)するのに使います。
TINY BASICが命令文のセパレータに’;’(セミコロン)を使っているなんて全く気が付いていませんでした。
前回お見せしたFINサブルーチンのプログラムリストをあらためて確認してみたところ、その先頭のところで’3B’(’;’の文字コード)かどうかのチェックをしています。
逆に’:’(3A)はプログラム全体を検索してみましたが1回も使われていませんでした。
でも念のため。
実際に簡単なプログラムを書いて確認してみました。
最初に
10 A=0;B=5;C=10
と書いて実行してみたところ正常に実行できました。
次に
10 A=123:B=456
と書いて実行してみたところ、
WHAT?
が表示されてしまいました。
やはり’:’ではだめで、命令文の最後が’;’でも’0D’でもない場合のエラーにひっかかってしまいました。
それでは、ということで今度はPRINT文の中で’;’を使ってみました。
今回もやっぱりWHAT?が表示されました。
TINY BASICではPRINT文の中では’;’は使用できないことがわかりました。
復活!TINY BASIC[第24回]
2020.6.23upload
前へ
次へ
ホームページトップへ戻る