Как экспортировать данные в файл prn (фиксированная ширина с заполнением пространства) в Rails
Я не видел, чтобы такого рода задачи выполнялись нигде, и мне было интересно, как я могу экспортировать данные в .prn
Формат файла в RoR.
Идея будет иметь:
- поле 1 -> длина: 6 символов -> содержимое: "бла"
- поле 2 -> длина: 8 символов -> содержимое: "foo"
- поле 3 -> длина: 4 символа -> содержимое: "бар"
и преобразовать его в строку, которая будет выглядеть так:
"бла фу бар" -> всего 18 символов
Мне это нужно, потому что ERP, который я использую, принимает только поле данных фиксированной ширины.
3 ответа
Решение
Хотя оба ваших ответа хороши, я также нашел функцию ruby ljust ():
Тогда у меня есть:
"blah".ljust(6)+"foo".ljust(8)+"bar".ljust(4)
Надеюсь, это поможет всем, кто нуждается в том же...
Спасибо за помощь, ребята
Посмотрите на Array#pack:
a = %w(blah foo bar)
a.pack("A6A8A4")
=> "blah foo bar "
Я не эксперт по Ruby, но, по крайней мере, есть sprintf:
C: \ Temp> ruby -le "printf '[%-6s%-8s%-4s]', 'blah', 'foo', 'bar'" [бла фу бар] |•••••|•••••••|•••