etspring
@etspring
Начитанное быдло

Есть ли аналог питоновского struct.pack в ruby?

Доброго времени суток.

Имеется код на питоне:
import struct
struct.pack('!3i32xhbbi48x', 442,1627896903,1,8054,0,0,0)

Всё отрабатывает нормально. Имеем:

b'\x00\x00\x01\xbaa\x07\xbcG\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1fv\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'


Пробуем тоже самое на Ruby:
[442,1627896903,1,8054,0,0,0].pack('!3i32xhbbi48x')

Результат - ошибка.


Traceback (most recent call last):
22: from /home/deployer/.rvm/gems/ruby-2.7.2@my_fancy_app/bin/ruby_executable_hooks:22:in `'
21: from /home/deployer/.rvm/gems/ruby-2.7.2@my_fancy_app/bin/ruby_executable_hooks:22:in `eval'
20: from /home/deployer/.rvm/gems/ruby-2.7.2@my_fancy_app/bin/irb:23:in `'
19: from /home/deployer/.rvm/gems/ruby-2.7.2@my_fancy_app/bin/irb:23:in `load'
18: from /home/deployer/.rvm/gems/ruby-2.7.2@my_fancy_app/gems/irb-1.3.6/exe/irb:11:in `'
1: from (irb):45:in `'
:134:in `pack': too few arguments (ArgumentError)


Уважаемые, подскажите куда копать?
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 1
etspring
@etspring Автор вопроса
Начитанное быдло
[].pack('!NNNx32s>x48')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы