challenge 条件を満たす行を取り除く

ファイルから1行ずつ読み込み、"#"で始まる行だけを取り除いてファイルに出力するコードを書いてください。

サンプル入力

hello!
# remove this
 # don't remove this
bye!
サンプル出力
hello!
 # don't remove this
bye!

Posted feedbacks - Ruby

1
2
3
while ARGF.gets
  puts $_ unless $_[0] == ?#
end

ワンライナーで
1
% ruby -ne 'puts $_ unless $_ =~ /^#/'

ワンライナーです。
1
ruby -pe "next if /^#/"

考え方は同じですが,Rubyっぽくなるように心がけてみました
1
2
3
ARGF.read.each_line do |line|
	puts line unless line.index('#') == 0
end

コマンドラインオプションなしで
1
gets$9;gsub /^#.+$/,""

ファイル名とか決め打ちだけど・・・
1
2
3
4
5
File.open('test.txt', 'r') do |file| 
  file.each do |line|
    puts line unless line =~ /^#/
  end
end

Index

Feed

Other

Link

Pathtraq

loading...