在 Zed Shaw 的 Learn Ruby the Hard Way 中,练习 21:
def add(a, b)
puts "ADDING #{a} + #{b}"
a + b
end
age = add(30, 5)
puts "Age: #{age}"
这打印年龄:35。
我尝试在上一个练习(ex20)中这样做:
def print_all(f)
puts f.read()
end
current_file = File.open(input_file)
sausage = print_all(current_file)
puts "Sausage: #{sausage}"
但是当我运行它时,即使我将文件指针移回 0,#{sausage} 也不会打印:
def print_all(f)
puts f.read()
end
def rewind(f)
f.seek(0, IO::SEEK_SET)
end
current_file = File.open(input_file)
sausage = print_all(current_file)
rewind(current_file)
puts "Sausage: #{sausage}"
我将 add(a, b) 方法的返回值分配给年龄,为什么我不能对 print_all(current_file) 做同样的事情?