こんにちは。
今回は「なでしこ」に触れてみます。
プログラム言語にもいろいろありますが、なでしこでは日本語でプログラミングができるということで、一度くらいは触れてみようと思い今回ブログ化してみた次第です。
今後登場する機会は少ないかもしれませんが、使う努力はしてみます。
今回はなでしこで遊んでみて、その基本的な構造を学ぼうと思います。
本ブログではWindows版の「なでしこv1」を使っています。ブラウザ上で動く「なでしこv3」とは若干異なるようなので、注意してください。
さて、例にならってプログラミングの初めといえば「Hello, world」の表示だと思っているので、やってみます。
ですが、せっかく日本語で書けるので「こんにちは」にしてみます。
「こんにちは」と表示。
(Markdown記法のコード表示方法ではなでしこに対応していないようで、色がつきませんでした。)
コメントアウトかな?と思ってしまいますが、これがコードであり、実行すると「こんにちは」と表示されます。
中身を見てみます。
「こんにちは」は文字列です。カギ括弧「」はダブルクォーテーション""でも代用できるようですが、いちいち半角にするのは面倒なので、なでしこではカギ括弧がよいでしょう。
「と表示。」の部分がprocessingでいうところの「println();」にあたるということでしょう。
句点「。」はあっても無くても同じ結果になるようです。
ここでは助詞に「と」を使いましたが「を」でも可能です。
他の方法で、
「こんにちは」と言う。
と書くこともできるようですが、こちらはダイアログボックスが出て、「こんにちは」が表示されます。
「言う」と「いう」でも若干違うようで、「言う」ではなでしこのウィンドウ(「母艦」)の真ん中に、「いう」ではパソコンの画面の真ん中に表示されます。
こちらの入力を待つこともできます。
「名前は?」と尋ねる 名前はそれ 「こんにちは、{名前}」と表示
これを実行するとテキストボックスが表示され、適当に入力して決定を押すと「こんにちは、 ○○」と挨拶してくれます。
「尋ねる」で入力を待ち、「名前はそれ」で「名前」という変数に入力した言葉を保存、そして「表示」で表示、という流れです。
「それ」は「this」なので、省略して
名前は「名前は?」と尋ねる 「こんにちは、{名前}」と表示
とも書けます。
分岐(if文)は以下のようになります。
時間は「今は朝?夜?」と尋ねる もし、時間が「朝」ならば 「おはよう」と表示 違えば 「こんばんは」と表示
なでしこもインデントで構文を判断しているようで、「もし」「違えば」の下の処理にインデントが無いとエラーをはきます。
それでは、これを関数にしてみます。
*挨拶 時間は「今は朝?夜?」と尋ねる もし、時間が「朝」ならば 「おはよう」と表示 違えば 「こんばんは」と表示 挨拶
「*」(または「●」)で関数の名前を決め、その下に処理を書きます。インデントを忘れずに。
そして、関数名を書けばそこで関数を呼び出せます。
関数名だけでも良いですが「挨拶する」のように「する」がついても実行可能なようです。(日本語的には後者の方が良いですね)
一旦挨拶から離れ、繰り返し(for文)について記したいと思います。
pythonの記事でも述べましたが、このブログで度々出るものなのでなでしこでも表してみます。
processingでは以下のように書きます。
for(i = 0; i < n; i ++){ 処理; }
ですが、なでしこではこのようになるようです。
数を0から最後まで繰り返す 処理
「数」が「i」、「最後」が「n」を表します。
ただし、使うかどうかはわかりません。
さてここまで触れてきましたが、なでしこでは日本語でプログラミングができることもあって、なかなか可読性が高いですし、はじめたてでも理解しやすいです。(日本人限定ですが)
というわけで今回はここまでにして、他の細かい処理は使うときに説明したいと思います。また次回。