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"
Другие вопросы по тегам