ljust 可以在每个块中使用吗?
Can ljust be used within an each block?
"test".ljust(5)
=> "test "
["test", "test", "test"].each { |i| i.ljust(5) }
=> ["test", "test", "test"]
ljust
在 each
块中使用时似乎不起作用。为什么这个世界没有按预期工作?我错过了什么吗?如果是这样,是什么让这种方法以这种方式运行?
如果要重写这些,需要使用map
:
["test", "test", "test"].map { |i| i.ljust(5) }
each
方法迭代并忽略结果,返回原始列表,而map
returns 转换后的结果。
请注意,您可以通过以下方式进行格式化:
'%-5s' % [ item ]
这在很大程度上避免了仅为了展示目的而破坏数据的需要。
每个的return就是原来的数组。我想你要找的是:
["test", "test", "test"].map { |i| i.ljust(5) }
"test".ljust(5)
=> "test "
["test", "test", "test"].each { |i| i.ljust(5) }
=> ["test", "test", "test"]
ljust
在 each
块中使用时似乎不起作用。为什么这个世界没有按预期工作?我错过了什么吗?如果是这样,是什么让这种方法以这种方式运行?
如果要重写这些,需要使用map
:
["test", "test", "test"].map { |i| i.ljust(5) }
each
方法迭代并忽略结果,返回原始列表,而map
returns 转换后的结果。
请注意,您可以通过以下方式进行格式化:
'%-5s' % [ item ]
这在很大程度上避免了仅为了展示目的而破坏数据的需要。
每个的return就是原来的数组。我想你要找的是:
["test", "test", "test"].map { |i| i.ljust(5) }