openの別の使い方。
openはファイルの読み書きだけではなく、外部コマンドとの連携が可能。素敵。
open("| ls", "r") do |ls| while line = ls.gets p line end end
結果。
hoge.rb hoge.txt
lsコマンドの結果であるファイルの一覧が出力される。
こういう場合、lsには何が格納されているのだろうか。
open("| ls", "r") do |ls| p ls end
結果。
#<IO:0x24540>
よくわかんね。
出力を受け取るだけではなく、コマンドを実行し入力を与えることも可能。
open("| bc -l", "w") do |calc| calc.puts "9/2" end
結果。
2 4.50000000000000000000
openの第2引き数を"r"として、動かねー、動かねー、と唸っていたのは秘密です。
- 作者: 広瀬雄二
- 出版社/メーカー: 技術評論社
- 発売日: 2006/01/13
- メディア: 単行本(ソフトカバー)
- クリック: 9回
- この商品を含むブログ (41件) を見る