Hatena::Grouparaistudy

czk-htnの日記

2006-08-19

[] 11.4 pigコマンド

ライバルの人がRubyでpigコマンドを実装するというおもしろそうなことをしているので自分もやってみる。なんとなくPerlっぽいですか。

pigコマンド
#!/usr/bin/env ruby
while gets
  words = $_.chomp.split(/\s+/)
  words.each { |w|
    if w.sub!(/^([^aiueo]+)(.+)/, '\2\1ay') == nil
      w.sub!(/$/, 'way')
    end
  }
  print words.join(" "),"\n"
end
実行用スクリプト
pig = IO.popen("./pig", "w+")
pig.puts "ice cream after they go to bed"
pig.close_write
puts pig.gets
実行結果
% ruby ./sample10.rb
iceway eamcray afterway eythay ogay otay edbay

[] 13. Rubyとその世界

13.1 コマンドライン引数

puts ARGV.join(",")
ARGV.push("hoge")
puts ARGV.join(",")
% ruby ./sample01.rb fuga
fuga
fuga,hoge
トラックバック - http://araistudy.g.hatena.ne.jp/czk-htn/20060819