# Count and report the number of lines and characters in a file.
print "File name: "
fn = gets.chomp
begin
f = open(fn)
nlines = 0
length = 0
f.each { |line| nlines += 1; length += line.length }
rescue
print "File read failed: " + $! + "\n"
else
print fn, ": ", nlines, " lines, ", length, " characters.\n"
end
Ruby uses exceptions. Instead of
try
, the block is called
begin
, and instead of
catch
there is
rescue
. The
else
is
executed when no exception occurs. There is also an
ensure
block which is always run last, exception or no.