土曜日, 11月 18, 2006

「なでしこ」の日本語らしさ

昨日は、配列を区切る命令を試したのだが、プログラムはこんな風に書いてある。

音階=『ド/レ/ミ/ファ/ソ』
音階=音階を"/"で区切ったもの

いかにもプログラミング言語という感じなのだが、「なでしこ」では、これをプログラミング言語っぽくなくする書き方がいろいろとできる。

試しに、いくつかの書き方をテストしてみた。

//日本語らしいのは?

!母艦設計="母艦の可視はオフ"
●例表示(Nの)
 "例{N}{改行}" & 音階を言う
 
#1
音階=『ド/レ/ミ/ファ/ソ』
音階=音階を"/"で区切ったもの
1の例表示

#2
音階=区切("ド/レ/ミ/レ/ド", "/")
2の例表示

#3
音階=『ド/レ/ド/レ/ソ』を"/"で区切る
3の例表示

#4
音階は『ソ/レ/ミ/ファ/ソ』を"/"で区切ったもの
4の例表示

#5
音階は、『ソ/ファ/ミ/レ/ド』を「/」で区切ったもの。
5の例表示

//ここまで

#2が今までのプログラミング言語っぽい書き方(関数的な書き方)だと思うが、#5のように、本当にこれがプログラミング言語なのかと思うような書き方までできる。

今日は、結果を確認するための、例表示(N)という関数を作ってみた。この中に出てくる{改行}というのは、特殊な文字を表す定数で、次のような種類がある。

特殊記号の表記方法
http://nadesi.com/doc/reference/syntax/1-2-str.htm#head3

昨日は、「表示」を使って確認したのだが、今日は「言う」を使って例毎に確認をとりながら、配列全部を表示するようにしてみた。プログラムを実行すると、次のようなダイアログが表示されるはずだ。



配列は要素毎に改行されて表示される。これは、なかなか便利だ。