1

我在任何地方都没有看到这种任务完成,我想知道如何.prn在 RoR 中以文件格式导出数据。

这个想法是:

  • 字段 1 -> 长度:6 个字符 -> 内容:“blah”
  • 字段 2 -> 长度:8 个字符 -> 内容:“foo”
  • 字段 3 -> 长度:4 个字符 -> 内容:“bar”

并将其转换为如下所示的行:

“blah foo bar” -> 总共 18 个字符

我需要这个,因为我使用的 ERP 只接受固定宽度的数据字段。

4

3 回答 3

3

看看数组#pack:

a = %w(blah foo bar)
a.pack("A6A8A4")
=> "blah  foo     bar "
于 2009-10-22T07:12:57.577 回答
2

虽然您的两个答案都很好,但我还发现了 ruby​​ 函数ljust()

然后我有:

"blah".ljust(6)+"foo".ljust(8)+"bar".ljust(4)

希望它可以帮助任何需要同样东西的人......

谢谢你们的帮助

于 2009-10-22T21:14:43.680 回答
1

我不是 Ruby 专家,但至少有sprintf

C:\Temp> ruby​​ -le "printf '[%-6s%-8s%-4s]', 'blah', 'foo', 'bar'"
[废话吧]
 |•••••|•••••••|•••
于 2009-10-22T03:22:07.663 回答