第3回Ruby勉強会に参加。今回は第3章の内容。3章はコマンドライン引数などの使い方。
私が作った問題
コマンドライン引数から言う回数という文字列を取得して言う
回答例
roop = ARGV[0].to_i
roop.times { print "Hello, " + ARGV[1] + "\n" }
使用例
$ ruby kadai1.rb 3 World!
Hello, World!
Hello, World!
Hello, World!
コマンドライン引数で渡したファイルを読んで、引数で渡した文字列から始まる行をとってくる
回答例
pattern = Regexp.new( "\^" + ARGV[1] )
filename = ARGV[0]
file = open( filename )
while atari = file.gets do
if pattern =~ atari
print atari
end
end
file.close
使用例
$ ruby kadai2.rb kadai2.rb file
file = open( filename )
file.close
他の人が出題した問題
渡されたファイルを読んで、行数を数える
filename = ARGV[0]
counter = 0
file = opne( filename )
while file.gets do
counter += 1
end
print counter.to_s + "\n"
file.close
実行例
$ ruby line_counter.rb line_counter.rb
10
randで文字列を吐いて、その中に知ってる単語はあるかな?
randから文字列作るのは出来ないので、擬似的にランダムな文字列作るのにくろう。
randで数字を作って、小数点1桁を引っ張ってくる。引数で渡した数字と同じのが何個あるか言う
上の問題やってて出来なかった。
こんな感じでしょうか。。。
勉強になった事