文字と文字列を区別するのはプログラムでは
文字 : 'a'
文字列 : "a"
このように区別しています。違いは・・・「'」か「"」で囲んでいるだけですね。
あれ?'a'は数字が表示されてしまいましたね。これが、文字と文字列の違いです。
実は文字は数字と同じなんです。aは97、bは98・・・って決まっています。
では、対応をちょっと見てみましょう。
repeat 256
a=""
poke a,0,cnt
if cnt\25==0 : pos cnt/25*55,0
mes ""+cnt+"="+a
loop
stop
|
このように0〜255(文字コードといいます)までの256種類が当てはめられています。
ところが、いくつかは文字が表示されませんね。見えない文字(スペースや改行)や
黒い四角は当てはめられていない部分です。
では、文字列はどうなってるんでしょう・・・実は、文字の集まり(列)なんです
(そのままですね(^^;)。
なんで、数字が並んで表示されないんだ?
それは、最後に文字コード0が有れば、そこまでの文字列を表示するようになっているのです。
先ほどの表で見たように0には何も見えていません。このことから文字列変数は
入れたい文字数+1の大きさにしないといけません。しかし、実際には
文字列変数より多い文字列を入れてもエラーになりません(^^;
でも、いろいろ期待通りに動かない原因になりかねませんので気をつけてください。
最後に、文字コード0が文字列の最後だと言うことを見てみましょう。
a="ABCDEF"
mes a
poke a,3,0
mes a
stop
|