Wieder einmal gibt es verschiedene Möglichkeiten, Daten in eine Datei zu schreiben. Textdateien können mit den schon bekannten Ausgabefunktionen gefüllt werden.
File.open("demo", "w") { |f|
f.print "Ruby\n"
f.puts "Ruby"
f.putc 64
f.printf "%4d ", 1
f << "a" << 1 << "b" << 2
}
Um binäre Daten auszugeben, ist es am einfachsten, die Daten
in einen (8-Bit-)String zu verpacken und diesen mit print
zu schreiben. Die aus Perl entlehnte Methode pack ermöglicht
die komfortable Umwandlung eines Arrays in eine Zeichenkette, das
Gegenstück unpack erzeugt wieder ein Array.
a = [33, 34, 35]
b = a.pack("sil")
#-> "!\000\"\000\000\000#\000\000\000"
"abc".unpack("ccc") #-> [97, 98, 99]
In [ThHu01] befindet sich auch eine vollständige Liste der möglichen Formatzeichen.