Ruby学習ノート(二)——パイプからデータを読み取る

704 ワード

ファイル名を修正した後、今日また自分に新しい難題を出して、実験結果からデータを抽出して、フォルダの名前にしたいと思っています.このうち,試合の主催者が提供する評価アルゴリズムはperlで書かれているため,実験結果を読み取る最も簡単な考え方は当然パイプコマンド,すなわち
./eval-entity.pl ent-ref10.qrels 2000_test.txt | ruby ./myscript.rb

しかし、パイプから送られてきたコマンドをどのように読み取るのでしょうか.
 
「妾にはできないよ.」
 
はい、これは入出力ストリームだと思います.しかし、半日検索した「ルビーリードパイプ」にも関連内容が見つからず、ゆっくり試してみるしかなかった.筆者が考えた最初のストリームは自然に「標準入出力ストリーム」であり、この製品がちょうど私たちが必要としているとは思わなかった.
$stdin.readlines().each do |line|

    do something    

end

do somethingに必要なコードを追加してください