Schreibe eine Binärdatei in Ruby
Gibt es eine einfache Möglichkeit zum schreiben von binären Daten in Binär-Datei, wie wir verwendet zu tun, die in C/C++? Zum Beispiel, wie kann ich ein 4-byte-Datei mit dem serialisierten 4-byte-integer-Wert, ohne mit Lust auf Mathe?
InformationsquelleAutor der Frage Alex Kovshovik | 2009-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Array#pack und String#unpack zum konvertieren von Binär-Darstellungen. Kombinieren Sie Sie mit IO#write und IO#Lesen, und gehen Sie Weg.
InformationsquelleAutor der Antwort Pesto
Ich hatte vor kurzem ein ähnliches problem für die Arbeit. Ich benutzte die BinData Juwel und es funktionierte ein Leckerbissen.
Tun Sie nur so etwas wie:
ist und Sie brauchen nicht zu erinnern, alle
Array#pack
codes.InformationsquelleAutor der Antwort Jason
Gibt es
Marshal.dump
undMarshal.load
Methoden, die Sie verwenden können.Hier ist ein link: http://en.wikipedia.org/wiki/Serialization#Ruby.
Und ein anderes, das speichert die Daten in einer Datei: http://rubylearning.com/satishtalim/object_serialization.html.
InformationsquelleAutor der Antwort Dave Cluderay
Meiner bescheidenen Meinung nach, ruby war nicht gemacht für solche Aufgaben. Wenn Sie schreiben müssen, um binäre Dateien, eine Menge, wäre es am einfachsten, einige schreiben von c-Funktionen und rufen Sie Sie von ruby, die ist ganz einfach mit swig. Ich mache dasselbe im moment zum schreiben eines raid-simulator.
InformationsquelleAutor der Antwort Kim Stebel