エコー | package入門(カレンダー・システム編) [講座] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 講座 | package入門 | ポテンシャルを飛躍的に高めるrpnパッケージを学習。

エコー

 山に向かって大声を出すと少し遅れて声が戻ってきます。エコー(やまびこ)ですね。DOSにechoというコマンドがありますが、これは「echo yahoo」と入力するとyahooが表示されるというものです。要は入力した文字と同じものが表示されるわけですね。

  >echo yahoo
  yahoo


何でこんなコマンドが必要なのかと思うでしょうが、パソコンでいろんな仕事を自動実行させるバッチ処理という仕組みの中でよく使用します。echoの後に文章などを書いて、”処理中です”的なものだったり、どの処理が実行されたかなどを確認するためにも使います。

rpnのエコー

 カレンダー・システムパッケージにもエコーと同じ効果のプログラムがあります。ただし、rpnは電卓ソフトなので文字のエコーはできません。数値をエコーします。以下のように使い方は単純明快です。

  >rpn -c echo
  1
  1
  2
  2
  ^Z


「rpn -c echo」を入力するとパソコンが待ち状態になるので、1を入力すると1が返ってきます。2を入力すると2が返ります。まさにエコーですね。終わるときは^Zを押します(Ctrlキーを押しながらZキーを押す)。

rpnのechoの場合、このような使い方をするのは希で、以下のようにechoプログラムに数値を指定する形で使います。

  >rpn 1 -c echo
  1


"1"をechoプログラムに指定すると"1"が返ってきていますね。ここまではDOSのechoとあまり変わらないのですが、rpnのechoはエコー回数を設定することもできます。以下の例を見てください。

  >rpn 10 1 -c echo
  1
  1
  1
  1
  1
  1
  1
  1
  1
  1


echoプログラムに繰り返す回数とエコーさせる数値を指定しています。このようにすると好きなだけ数値をエコーさせることができます。エコーさせる数値は一つである必要はありません。複数個指定できます。以下がその例です。

  >rpn 10 1 2 3 -c 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からの数値を渡してもらって、再度その数値をエコーしてみましょう。

  >echo 1 | rpn -c echo
  1


DOSのechoから"1"を受け取って、rpnのechoで"1"を表示していますね。これ自体には特に意味はないのですが、面白いことにrpnのechoは外部のプログラムから同じように繰り返し数を渡してもらうことも可能なのです。

  >echo 10 | rpn 1 2 3 -c 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の姉妹ソフトウェアです。詳しくはプロダクトを参照ください。

カレンダー・システムパッケージ

カレンダー

ユーティリティー

マイスター

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn標準版(2kリビジョン)はダブルクォートで囲ってください。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS」を参照ください。

注意rpnの障害情報と対策はこちら