「それ」について学ぶ
ひまわりは、他のプログラム言語を、日本人にとってプログラムが身近になるように、日本語へローカライズしたものです。よって、多くの文法が、BASIC,
C言語, Perl, Pascal 等を、模倣したものです。
しかし、この「それ」という概念は、他の言語にはない、ひまわり独自の機能です。「それ」をうまく利用して、日本語らしいプログラミングに挑戦しましょう!(*Perlをご存知の方は、$_に近いものです。)
以前、私は、日本で中国語を学んでいました。(李先生と言ういかにもって名前の)中国人の語学教師が、怪しげな日本語(失礼!)でもって、中国語を教えてくれました。(ワタシ、ニホン、スキアルヨ。アナタ、キレイネ。シャチョサン、ヤスイヨ・・・って感じ。)
その先生が、日本に来て、生徒の話す日本語(周りでは高校生のコギャル達がへらへらと話しているの)を聞いていて、ふと、日本語に関する重要な感想を、もらしました。
「日本語って、(主語)や言葉の(語尾)の省略が、多いですね。」
(あ、実際は・・・ニホンゴ、ショリャク、タクサン、アルネ。コトバ、ハジメルノトキ、ソレカラ、コトバ、オワルノトキ、ナドナド。・・・って感じね。)
そうなんですよね。日常会話の日本語って、主語は省略されて、
目的語{補語}+動詞 の形
が、基本だと思うんです。
上から下まで、皆言わずとも、その言葉の雰囲気や、前後の会話から、類推して、例えば・・・
「昨日海行ったんだ。暑かったよな。どう?明日行かない?」
って。この文章、一度も主語がないけど、私は、昨日海へ行って泳いで来たんだけど、昨日は暑かったよね。明日、君も、僕達と一緒に、海に行かないか?と、誘っているというのが、明確に相手に伝わります。
この経緯があって、ひまわりでは、「それ」という特殊変数を導入しました。
「それ」が、主語の代わりになって、例えば、
と、書けば、変数それの内容を、「c:\text.txt」という名前のファイルへ、書き込むという意味になります。
- ひまわりの「それ」は、一見しただけでは、普通の変数と、何ら変わりありません。
{例}それ=(20+4)×3+4。それを、表示。
.
- ひまわりが用意している命令の多くは、「それ」に、答えを返します。
{例:四捨五入}3.14を,1位で,四捨五入。それを、表示。
.
- 引数を省略して、命令を使うと、省略された値に、それが補完されます。
{例}「12345」から、3文字、左端を切り取る。表示。’それの内容「123」が表示される
.
- 計算式において、「それ」を、命令実行の結果として計算します。
{例:四捨五入}変数A=四捨五入(3.14を、1位で)。変数Aを、表示。
.
- 計算式の中で、ラベルを呼ぶと、ラベルを実行し、「それ」を、ラベルの値として処理します。
{例:計算式の中で、ラベル呼び出し}
結婚式の参加者数=新郎の客+新婦の客。{ラベルを呼び出し}
結婚式の参加者数を、言う。
終わり。
*新郎の客
それ=20{人}。戻る。
*新婦の客
それ=18{人}。戻る。
また、「それ」の特徴として、面白いのは、変数へ値を代入するときに、
現在時刻=今。
現在時刻と、言う。
のように、式がかけるところです。
実際、「今」という命令は、"それ"に、現在時刻を返すように設計されているのですが、(上の例だと)現在時刻へ代入の時、それに、答えが返っていると、「それ」の値が、代入されるのです。
今。
現在時刻=それ。
現在時刻を、言う。
これも、先ほどと、同じ意味のプログラムなのです。今。呼び出されると、「それ」に、現在時刻が入ります。そして、それを、メッセージボックスに表示するというものです。
戻る