Может ли кто-нибудь здесь помочь мне понять, как приведенные ниже директивы с плавающей запятой работают в Ruby с методом packing() and unpacking()
?
D and d
F and f
g and G
e and E
Я пробовал ниже:
irb(main):001:0> [2,44,43].pack('D')
=> "\x00\x00\x00\x00\x00\x00\x00@"
irb(main):002:0> [2,44,43].pack('d')
=> "\x00\x00\x00\x00\x00\x00\x00@"
irb(main):004:0> [2,44,43].pack('ddd')
=> "\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00F@\x00\x00\x00\x00\x00\
x80E@"
irb(main):005:0> [2,44,43].pack('fff')
=> "\x00\x00\x00@\x00\x000B\x00\x00,B"
irb(main):006:0> [2,44,43].pack('FFF')
=> "\x00\x00\x00@\x00\x000B\x00\x00,B"
irb(main):007:0> [2,44,43].pack('ggg')
=> "@\x00\x00\x00B0\x00\x00B,\x00\x00"
irb(main):008:0> [2,44,43].pack('GGG')
=> "@\x00\x00\x00\x00\x00\x00\x00@F\x00\x00\x00\x00\x00\x00@E\x80\x00\x00\x00\x0
0\x00"
irb(main):009:0>
Как идет выход? какова логика таких вычислений?
Заранее спасибо!
ruby
, я хотел бы действительно знать, как именно они работают, какая логика с ними связана? - person Arup Rakshit   schedule 12.01.2013irb
? Большинство людей, которых вы спрашиваете, тоже не знают, как это работает. Хитрость в том, чтобы проверить их с помощьюirb
. Так что вы пробовали, и что конкретно вам не понятно в этих методах? Ваш вопрос имеет слишком широкий охват. - person Casper   schedule 12.01.2013SO
теперь поймут, что я пытаюсь понять! пожалуйста, не голосуйте пост за закрытие! - person Arup Rakshit   schedule 12.01.2013DOWN VOTE
. - person Arup Rakshit   schedule 12.01.2013pack
иunpack
используются для преобразования между этими двумя. Обычно они используются для чтения/записи двоичных файлов и передачи двоичных сетевых протоколов. - person mu is too short   schedule 13.01.2013