【发布时间】:2009-06-02 20:52:15
【问题描述】:
有没有像我们以前在 C/C++ 中那样将二进制数据写入二进制文件的简单方法?例如,如何在不使用花哨的数学的情况下创建具有序列化 4 字节整数值的 4 字节文件?
【问题讨论】:
标签: ruby
有没有像我们以前在 C/C++ 中那样将二进制数据写入二进制文件的简单方法?例如,如何在不使用花哨的数学的情况下创建具有序列化 4 字节整数值的 4 字节文件?
【问题讨论】:
标签: ruby
您可以使用Array#pack 和String#unpack 在二进制表示之间进行转换。将它们与IO#write 和IO#read 结合起来,就可以了。
【讨论】:
String#unpack ?
您可以使用Marshal.dump 和Marshal.load 方法。
这是一个链接:http://en.wikipedia.org/wiki/Serialization#Ruby。
另一个将数据保存到文件中:http://rubylearning.com/satishtalim/object_serialization.html。
【讨论】:
在我看来,红宝石不是为这些任务而生的。如果您必须大量写入二进制文件,最简单的方法是为此编写一些 c 函数并从 ruby 调用它们,使用 swig 很容易。我现在正在做同样的事情来编写一个raid模拟器。
【讨论】: