从Ruby中的文件中读取每8个字节

gFo*_*iva 3 ruby filereader

我正在尝试读取ruby中的文件,但我需要每次读取8个字节例如:

file = "a1b2c3d4c5d6e7f8g9h0"
file.each_8_bytes do |f|
  puts f
end
Run Code Online (Sandbox Code Playgroud)

产量

=> a1b2c3d4
=> c5d6e7f8
=> g9h0
Run Code Online (Sandbox Code Playgroud)

我怎么做的?

saw*_*awa 5

f = File.open(file)
f.read(8) #=> a1b2c3d4
f.read(8) #=> c5d6e7f8
f.read(8) #=> g9h0
...
f.close
Run Code Online (Sandbox Code Playgroud)

或者自动完成,

File.open(file) do |f|
  while s = f.read(8)
    puts s
  end
end
Run Code Online (Sandbox Code Playgroud)