目前我正在使用BinData gem来解析二进制文件格式。它工作得很好,除了我不知道在哪里停下来。该文件分为我使用 BinData Records 读取的属性。可以有 16 到 18 个属性(取决于它所采用的文件)。所以,如果我这样做:
16.times{
# parse data from property.
}
当有 16 个属性时,它工作得很好,但是,如果我将它增加到 17 个,我会收到以下错误。
'readbytes': End of file reached (EOFError)
我的问题是,我怎样才能一起避免 16 次并让它读取,直到它读取它可以读取的所有属性,然后在它到达文件结尾错误时停止。