を使用して、パックされたバイトをunsigned int32としてファイルに書き込もうとするとpack('L')
、その数10
は5バイトとして書き込まれます。他の番号を使用すると、通常の動作が得られます。
私は簡単なスクリプトを書きました:
x = 0
while x < 100 do
puts "\nTesting %s..." % [x]
h = [x].pack('L')
puts "h length: %s" % [h.length]
f = File.open('tmp', 'w')
f.write h
puts "position: %s" % [f.pos]
x += 1
end
そして、この結果を取得します; 反復番号10を見てください。
私の間違いはどこにありますか?
Rubyバージョン:ruby 1.9.3p327(2012-11-10)[i386-mingw32]