这就是我阅读文件的方式:
raw = File.open(fname) { |f| f.read }
我想我会利用 Ruby 的快捷方式,例如&
将其参数转换为 proc 的运算符。例如,可以使用
nums = gets.split.map &:to_i # get numbers from stdin
代替
nums = gets.split.map { |x| x.to_i }
所以,我尝试了:
raw = File.open(fname) &:read
我得到了错误:
path/to/file.rb:3:in `<main>': undefined method `&' for #<File:testing.txt> (NoMethodError)
它也不适用于括号 ( raw = File.open(fname)(&:read)
)。
如何使用此快捷方式打开文件?如果我不能,那为什么不呢?