脳ざらし紀行


2005-07-04

_ [ネット] パイプにオブジェクトを流す

Marshal を使ってこんな感じで。

$cat ~/bin/map
#!/usr/local/bin/ruby
require 'optparse'
require 'pp'
cmdline = nil
opt = OptionParser.new
opt.on('-e VAL') {|v| cmdline = v }
opt.parse!(ARGV)
arry = Marshal.load($stdin)
ret = arry.map{|e|
 e.instance_eval(cmdline)
}
if($stdout.tty?)
  pp ret
else
  Marshal.dump(ret, $stdout)
end
$cat ~/bin/pp
#!/usr/local/bin/ruby
require('pp')
arry = Marshal.load($stdin)
pp arry
$ ruby -e 'print Marshal.dump(["a", "bb", "ccc"])' | map -e size | pp
[1, 2, 3]

ls の代わりにファイルオブジェクトの配列を返すコマンドを作ったりとかしたら面白そう。

_ [ネット] 週刊少年ジャンプに HSP

最後の作者のコメント欄で、アイシールドの作者が HSP を使っていると書いていた。goto でジャンプが特徴の言語だけに。

お名前:
E-mail:
コメント:
本日のリンク元

最近のコメント

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|04|05|
2011|04|
2012|03|07|
2013|01|02|07|
トップ «前の日記(2005-06-30) 最新 次の日記(2005-07-06)» 編集