もっと楽しむ! プログラミング言語 「豆」談義

第7回 『なでしこ――こんにちは世界』

この記事を読むのに必要な時間:およそ 2 分

変数の宣言,初期化

プログラムを実行するには構文解析が欠かせませんが,同じくらいプログラムの記述には変数の宣言と初期化は欠かすことのできない必須構文です。では,日本語らしい変数宣言とはどのようなものでしょうか?

なでしこでの変数の初期化はこのようになります

身長は170cm

この場合"身長"は変数,"170"は値と解釈され,"身長=170"や"170を身長に代入"と書いても同じに解釈されます。

数値"170"に続けて記述している「cm」「コメント的単位」というものでコメントと同等に扱われてプログラム文としては意味を持ちません。他には「円⁠⁠,⁠m」⁠メートル⁠⁠,⁠人⁠⁠,⁠kg」⁠キログラム)などがあり,値の意味をわかりやすく表すことができます。

「コードにマジックナンバーを作るな!」とはよく言われることですが,これならわざわざ定数を定義しなくてもすっきりとした記述にすることができるので,スマートですよね。

変数は宣言なしに使用できますが,"(変数名)とは(型名)"と記述することで宣言することもできます。

身長とは数値

制御構文

条件分岐・繰り返しといった制御構文も日本語で記述することになり,主な構文をJavaのものと比較して整理すると表1のようになります。

表1 制御文 

構文なでしこJava
回数繰り返し(index変数名)(開始値)から(終了値)まで繰り返すfor
条件繰り返し(条件式)の間~while
条件分岐もし(条件)ならば(真の式)違えば(偽の式)if else
選択Aで条件分岐。Bならば~。Cならば~。違えば~。switch case

単純に,繰り返すだけなら"?回~"と言う構文もあり,⁠こんにちは世界」を5回繰り返して表示するならこのようになります。

5回
    「こんにちは世界」と表示する

なでしこでは文の構造「ブロック」をインデントによって判断されるので,この場合"こんにちは世界"が5回画面に表示されることになります。また,条件分岐文はこのようになります。

「年齢はいくつですか?」と尋ねて,それを年齢に代入する

もし年齢が20未満なら
    「未成年です」と言う
違えば
    「成人です」と言う

このプログラムを実行すると年齢を尋ねるインプットボックスが表示されます。その入力した値は変数"年齢"に代入されて,条件文が判定されてメッセージダイアログが表示されます。このとき,インプットボックスに入力した値がまず受け取られているのが,特殊変数"それ"になります。

なでしこでは多くの命令がその実行結果をこの変数に代入します。ですので,変数"それ"の内容は命令が実行される度に書き換えられていきます。この変数はとても便利なのですが,頼りすぎると「指示代名詞ばかりの会話」と同じに訳の分からないことになってしまいます

今回はなでしこの日本語プログラムの面について見てきましたが,なでしこはそれだけではなく,定型的な事務処理を効率よくこなすことを目的として開発された言語なので「コンピュータを操作する」ということが非常に簡単にできるようにつくられています。ファイルのコピーやWord/Excelの操作といったJavaやC++で組もうとすると,ぞっとするようなことも,ごくごく簡単なコマンドで実現できてしまいます。次回は,その点を取り上げたいと思います。

著者プロフィール

チーム北海道

居酒屋北海道をこよなく愛するエンジニア集団(伊藤清人,江川崇,荻原利雄,長谷川裕一,吉野雅人 以上株式会社豆蔵所属)。

URLhttp://www.mamezou.com/