我想迭代地读取文件中固定数量的字节,并返回它们
我的代码如下。我是从网上拿来的例子
File.open('textfile.txt') do |file|
while (buffer = file.read(size)) do
yield buffer
end
end
我得到了没有给出 block 的错误。
最佳答案
嗯,那是因为没有给出 block 。您可以将 yield buffer
替换为 puts buffer
(或您想要的任何操作)或创建一个单独的方法获取代码块:
def read_file
File.open('textfile.txt') do |file|
while (buffer = file.read(size)) do
yield buffer
end
end
end
然后这样调用它
read_file do |data|
// do something with data
puts data
end
如有必要,将常规参数(如文件名或 block 大小)添加到 read_file
。
关于ruby - 如何在 Ruby 中一次读取一个文件字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3581156/