エコー
山に向かって大声を出すと少し遅れて声が戻ってきます。エコー(やまびこ)ですね。DOSにechoというコマンドがありますが、これは「echo yahoo」と入力するとyahooが表示されるというものです。要は入力した文字と同じものが表示されるわけですね。
yahoo
何でこんなコマンドが必要なのかと思うでしょうが、パソコンでいろんな仕事を自動実行させるバッチ処理という仕組みの中でよく使用します。echoの後に文章などを書いて、”処理中です”的なものだったり、どの処理が実行されたかなどを確認するためにも使います。
rpnのエコー
カレンダー・システムパッケージにもエコーと同じ効果のプログラムがあります。ただし、rpnは電卓ソフトなので文字のエコーはできません。数値をエコーします。以下のように使い方は単純明快です。
1
1
2
2
^Z
「rpn -c echo」を入力するとパソコンが待ち状態になるので、1を入力すると1が返ってきます。2を入力すると2が返ります。まさにエコーですね。終わるときは^Zを押します(Ctrlキーを押しながらZキーを押す)。
rpnのechoの場合、このような使い方をするのは希で、以下のようにechoプログラムに数値を指定する形で使います。
1
"1"をechoプログラムに指定すると"1"が返ってきていますね。ここまではDOSのechoとあまり変わらないのですが、rpnのechoはエコー回数を設定することもできます。以下の例を見てください。
1
1
1
1
1
1
1
1
1
1
echoプログラムに繰り返す回数とエコーさせる数値を指定しています。このようにすると好きなだけ数値をエコーさせることができます。エコーさせる数値は一つである必要はありません。複数個指定できます。以下がその例です。
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
"1 2 3"を10回エコーしていますね。
エコーする回数を渡してもらう
さて、このechoプログラムですが、外部のプログラムからの数値もエコーすることもできます。例えば、先ほどのDOSのechoからの数値を渡してもらって、再度その数値をエコーしてみましょう。
1
DOSのechoから"1"を受け取って、rpnのechoで"1"を表示していますね。これ自体には特に意味はないのですが、面白いことにrpnのechoは外部のプログラムから同じように繰り返し数を渡してもらうことも可能なのです。
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
結果を見るとechoから渡された"10"を繰り返し数として、"1 2 3"を10回エコーしている様子が分かります。
なぜ、DOSのecho以外にrpnのechoプログラムが必要になるのでしょうか。それは、バッチ処理などで動くシステムを作る時に、echoを実行する段階にならないと繰り返し回数が決まらない場合があるためです。
例えば、毎日変化するデータ数にエコー回数を合わせたい場合、DOSのechoやrpnの「-r」では固定した回数になるので対応できません。rpnのechoを単体で使う頻度は高くありませんが、データに連動して自動処理する仕組みを作るときなどに、必ず利用することになるでしょう。
echoは150個の数値を目安に使用してください。
本講座で使用したプログラムは、カレンダー・システムパッケージとして購入することができます。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。