Ruby中的文本格式(适用于装箱单)

Dav*_*pin 2 ruby formatting ruby-on-rails packing ruport

我需要为我正在处理的Ruby on Rails项目生成格式化的文本打包单.我正在考虑使用Ruport或者只是将自己格式化为字符串并将其输出到文本中.唯一的挑战是适当地证明所有输出.它需要看起来像这样,总是正确对齐.有什么建议?

Company Name
(T) 1-800-123-1234
(E) info@company.com

BILL TO: CUSTOMER NAME                   SHIP TO: CUSTOMER NAME
123 Some Street                          321 Some Street
Address etc.                             Address etc.

Date: 2010-03-12 16:30
Payment Number: 1234-123456

LN  NAME             SKU           DESCRIPTION             QTY    PRICE      TOTAL
----------------------------------------------------------------------------------
001 Product name     GUDB 012 HGQ  product description     2      52.99     105.98
         - Color
Run Code Online (Sandbox Code Playgroud)

Mla*_*vić 5

正如FM已经建议的那样,您可以使用sprintf:

"%10s %-10s %10s" % ['abc', 'def', 'ghi'] # use negative numbers for left alignment
#=> "       abc def               ghi"
Run Code Online (Sandbox Code Playgroud)

如果您需要更复杂的东西,请尝试使用一些标准的模板引擎,例如erb ...