プログラミングの備忘録

プログラムをつくる過程を残すもの

なでしこの備忘録 -基礎-

こんにちは。
今回は「なでしこ」に触れてみます。 プログラム言語にもいろいろありますが、なでしこでは日本語でプログラミングができるということで、一度くらいは触れてみようと思い今回ブログ化してみた次第です。
今後登場する機会は少ないかもしれませんが、使う努力はしてみます。
今回はなでしこで遊んでみて、その基本的な構造を学ぼうと思います。
本ブログではWindows版の「なでしこv1」を使っています。ブラウザ上で動く「なでしこv3」とは若干異なるようなので、注意してください。


さて、例にならってプログラミングの初めといえば「Hello, world」の表示だと思っているので、やってみます。
ですが、せっかく日本語で書けるので「こんにちは」にしてみます。

「こんにちは」と表示。

Markdown記法のコード表示方法ではなでしこに対応していないようで、色がつきませんでした。)
コメントアウトかな?と思ってしまいますが、これがコードであり、実行すると「こんにちは」と表示されます。

中身を見てみます。
「こんにちは」は文字列です。カギ括弧「」はダブルクォーテーション""でも代用できるようですが、いちいち半角にするのは面倒なので、なでしこではカギ括弧がよいでしょう。
「と表示。」の部分がprocessingでいうところの「println();」にあたるということでしょう。
句点「。」はあっても無くても同じ結果になるようです。
ここでは助詞に「と」を使いましたが「を」でも可能です。

他の方法で、

「こんにちは」と言う。

と書くこともできるようですが、こちらはダイアログボックスが出て、「こんにちは」が表示されます。
「言う」と「いう」でも若干違うようで、「言う」ではなでしこのウィンドウ(「母艦」)の真ん中に、「いう」ではパソコンの画面の真ん中に表示されます。

こちらの入力を待つこともできます。

「名前は?」と尋ねる
名前はそれ
「こんにちは、{名前}」と表示

これを実行するとテキストボックスが表示され、適当に入力して決定を押すと「こんにちは、 ○○」と挨拶してくれます。
「尋ねる」で入力を待ち、「名前はそれ」で「名前」という変数に入力した言葉を保存、そして「表示」で表示、という流れです。

「それ」は「this」なので、省略して

名前は「名前は?」と尋ねる
「こんにちは、{名前}」と表示

とも書けます。


分岐(if文)は以下のようになります。

時間は「今は朝?夜?」と尋ねる
もし、時間が「朝」ならば
    「おはよう」と表示
違えば
    「こんばんは」と表示

なでしこもインデントで構文を判断しているようで、「もし」「違えば」の下の処理にインデントが無いとエラーをはきます。


それでは、これを関数にしてみます。

*挨拶
    時間は「今は朝?夜?」と尋ねる
    もし、時間が「朝」ならば
        「おはよう」と表示
    違えば
        「こんばんは」と表示
        
挨拶

「*」(または「●」)で関数の名前を決め、その下に処理を書きます。インデントを忘れずに。
そして、関数名を書けばそこで関数を呼び出せます。
関数名だけでも良いですが「挨拶する」のように「する」がついても実行可能なようです。(日本語的には後者の方が良いですね)


一旦挨拶から離れ、繰り返し(for文)について記したいと思います。 pythonの記事でも述べましたが、このブログで度々出るものなのでなでしこでも表してみます。
processingでは以下のように書きます。

for(i = 0; i < n; i ++){
    処理;
}

ですが、なでしこではこのようになるようです。

数を0から最後まで繰り返す
    処理

「数」が「i」、「最後」が「n」を表します。
ただし、使うかどうかはわかりません。


さてここまで触れてきましたが、なでしこでは日本語でプログラミングができることもあって、なかなか可読性が高いですし、はじめたてでも理解しやすいです。(日本人限定ですが)

というわけで今回はここまでにして、他の細かい処理は使うときに説明したいと思います。また次回。