class NoFileError < RuntimeError ; end
begin
name = ARGV.shift
raise(ArgumentError, "引数がありません") if name.nil?
raise(ArgumentError, "引数が多すぎます") unless ARGV.empty?
unless File.exist?(name)
raise(NoFileError, "#{name}: そのようなファイルは存在しません")
end
rescue NoFileError => exception
STDERR.puts exception.message
exit(1)
rescue => exception
STDERR.puts "#{exception.class}: #{exception.message}"
exit(1)
end
read_flag = true
File.open(name, "r").each do |line|
read_flag = false if /^(=begin)$/ =~ line
STDOUT.puts line.chomp.split(/#/).shift if read_flag
read_flag = true if /^(=end)$/ =~ line
end