前項では、変数へ数値を代入しましたが、今度は、変数へ、文字を代入してみます。
バナナに、「バナナ」を、代入する
さて、何も考えずに、以下のプログラムを実行してください。
バナナ=「バナナ」。
バナナを、表示。
・・・以下のようにバナナ、と表示されたと、思います。
ひまわりでは、「」(かぎカッコ)で、括られたものは、文字のかたまりとして、認識されます。
ちょっとくどいですが、以下のプログラムも実行してみてください。
・・・無事、以下のように表示されましたよね?・・・間違っても
バナナ=「バナナ」。
りんご=「りんご」。
みかん=「みかん」。
バナナを、表示。
りんごを、表示。
みかんを、表示。が、表示されることはないと思います。
(いや、もちろん、と、表示することも出来ますけどね。これは、また、後ほど・・・気の早い方はこちらへ。)
つぎに、こうした、文字のかたまり(プログラム言語では、文字列と言います)同士を、足したいときは、どうしたら、良いでしょうか?下のプログラムを実行してみてください。
バナナは、「バナナ」。’バナナ=「バナナ」と、同じ意味です
チョコは、「チョコ」。
バナナチョコ=バナナ+チョコ。
バナナチョコを、表示。
どうでしょうか?なんと、答えは、0になってしまいます。うまく「バナナチョコ」と、表示されると思ったのに、一体どうしたことでしょう?
これは、「バナナ」である変数バナナと、「チョコ」である変数チョコを、ひまわりが、数字だと間違えて解釈して、数値計算してしまうからです。「バナナ」や「チョコ」は、数字ではないので、共に、0だと解釈されてしまい、0+0=0となってしまったのです。
それではどうしたら良いのでしょうか?・・・単刀直入に言いますと・・・
2つの文字列を、くっつけたい時は、&を使います。
以下のプログラムを実行してみてください。
バナナ=「バナナ」。
チョコ=「チョコ」。
バナナチョコ=バナナ&チョコ。
バナナチョコを、表示。
これで、ようやく、「バナナ」と、「チョコ」を、くっつけた「バナナチョコ」が出来上がりました。
このように、 足し算をする場合は、数値と文字列は、明確に区別して扱わなければなりません。
この図のように、変数には、さまざまな「値」を入れておくことが出来ますが、それは、数値であったり、文字列であったりと、区別して考える必要があります。
まともなメッセージを表示させる
文字列のことが、分かったところで、今まで、ぶっきらぼうに答えしか返さなかった、メッセージを、まともなもの(プログラムを見ないユーザーにも実行結果が分かる形)にすることを、考えましょう。
たとえば、バナナが、300円であることを、まともに、表示してみましょう。
バナナ=300{円}。
「バナナは、」&バナナ&「円です。」と、表示。結果:
どうでしょう?変数バナナの前後に、説明の文字列を補うと、プログラムの結果が、読みやすい形になったと思います。
もう一つ、例を書いてみようと思います。
私の名前=「かつお」。
妹の名前=「わかめ」。
「私の名前は、」&私の名前&「と言います。妹の名前は、」&妹の名前&「と、言います。」と、表示。
・・・こんなところですかねぇ。
もっと簡単にしたい。
上の「」&だらけのプログラムを見て、なんか、面倒だなぁって、思いませんか?そう思ったあなたは、かなりの面倒くさがり屋さんでしょう!でも、私もその仲間です。そこで、もっと簡単に表示できるようにしました。
文字列の中で、{変数名}のように書くと、その変数の値を、文字列に展開するという機能です。例えば、上の例を、書き直してみると、・・・
私の名前=「かつお」。
妹の名前=「わかめ」。
「私の名前は、{私の名前}と、言います。妹の名前は、{妹の名前}と、言います。」と、表示。
・・・かなり見やすくなったと、思います。
ササ゛工さんに自己紹介を頼む
同じようなネタで、毎週日曜日、私たちをほっとさせてくれるあの人に、自己紹介をさせてみましょう。 つク゛田ササ゛工
- 年齢…24歳。愛知の豊橋生まれ。
- 趣味…読書感想文を書くこと。
- 特技…歯でビールの栓を開けること。
- 性格…明るく朗らかでおっちょこちょい。
{データの設定}
名前=「つク゛田ササ゛工」
年齢=24
趣味=「読書感想文を書くこと」
特技=「歯でビールの栓を開けること」
性格=「明るく朗らかでおっちょこちょい。」
{自己紹介}
「私は、{名前}、{年齢}才です。」と、表示。
「{趣味}が好きで、{特技}が得意です。」と、表示。
「{性格}そんな私をよろしく!」と、表示。
→さらに詳しい文字列の規則はこちら。(ちょっと詳しくなったら読んでみてください。)