バイナリ入出力
array1 = [1, 1.3, 2.3, 10] array2 = [1, 2, 3, 4] f = open("hoge.bin", "wb") f.write array1.pack("iffi") #01 00 00 00 66 66 A6 3F 33 33 13 40 0A 00 00 00 f.write array2.pack( "i*") #01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 f.write array1.pack( "i*") #01 00 00 00 01 00 00 00 02 00 00 00 0A 00 00 00 f.close
Array#packは引数のテンプレート文字列の通りにバイナリデータを出力する
テンプレート文字列は出力の型とその連続する数で記述される。*は"残り全て"の意
逆に読み込むときはString#unpackを用いる
6行目のように、型が違っても出力の型に変換してくれる・・・と思う