ARGV


DOS窓Openを調べているところで、今思いついてやったことの記録。

\>ng pargv.rb #ngエディタを起動し、下記の1行プログラムを書く
p ARGV
C-x s C-x C-c #saveして終了

\>ruby pargv.rb
[] #=> 空のarray

\>ruby pargv.rb this is a pen
["this", "is", "a", "pen"]

やったことは以上で次にやろうとしているのが、shiftして云々。ファイル名を入れて云々。"|"や">"を使ってテキストファイルを流せるかどうか。というのがgrepを作っているところで躓いているのです。まずは環境の確認をしているところ。

楽しいね。

while ARGV.length > 0 do
puts ARGV.shift
end

\>ruby pargv.rb this is a pen
this
is
a
pen

for item in ARGV do
p item
end

\>ruby pargv.rb this is a pen
"this"
"is"
"a"
"pen"


さてgrep.rbですが
pat = Regexp.new(ARGV.shift)
while line = gets()
print line if line =~ pat
end

これがファイルを読み込んでくれない。
標準入出力でもだめ
その部分もrubyで作ろうと思います


追記:とりあえずgrep成功!

pat = Regexp.new(ARGV.shift)
filename = ARGV.shift
file = opne(filename, "r")
while line = file./gets()
  print line if line =~ pat
end

Ruby最高っす!