Ruby: использование пакета ("n") с целыми числами
Я знаю, что мне нужно использовать [5].pack("n")
например. Это производит вывод "\x00\x05"
Но теперь я хочу упаковать длину строки. Если я использую:
"Hello".length.pack("n")
Я получаю ошибку
undefined method `pack' for 5:Fixnum (NoMethodError).
Как я могу это исправить? Я уже пытался конвертировать "Hello".length
в целое число с "Hello".length.to_i
но тогда я получаю ту же ошибку. Есть ли способ это исправить?
1 ответ
Решение
Вам нужно использовать массив, а не целое число ("Hello".length
уже один).
["Hello".length].pack("n")
# => "\x00\x05"