Существует ли существующий гем или скрипт, который конвертирует числа в запакованный десятичный формат?
Продолжая свое приключение по конвертации COBOL в Ruby-программу, я должен преобразовать десятичную цифру в десятичный формат, упакованный в comp-3/. Кто-нибудь знает простой скрипт Ruby или гем, который это делает? Berns
1 ответ
Решение
Ruby умеет паковать кусочки, так что все получается довольно просто:
def pack_comp(n)
s = n.abs.to_s + (n < 0 ? "d" : "c")
s = "0" + s if s.size.odd?
[s].pack("H*")
end