読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

標準入力を処理するプログラムを書く

ARGFは引数がなければ標準入力からデータを読み込むので、これを使うのが楽なのかな?IOオブジェクト派生?なので、readとかgetsが使えます。以下は、標準入力のデータをBase64エンコードして出力するフィルタの例です。

#!/bin/ruby
puts [ARGF.read].pack("m")

使い方。

$ cat ./text.txt | ./ base64.rb 

実行結果です。

YWFh


組み込み関数のgetsはARGFからデータを読む関数なので、こんな感じで各行を処理したりできます。

#!/bin/ruby
# 標準入力の各行に「--」を付けて出力する。
while line = gets
  puts "-- " +  line 
end

使い方。

$ cat ./text.txt | ./insert_line.rb 

実行結果です。

-- aaa
-- bbb
-- ccc