在 Ruby 中,如何以最有效的方式将数组转换为字符串?
@x = ["foo","bar"]
@x = @x.join(", ") #=> "foo, bar"
只是想知道是否有更好的方法来做到这一点。
在 Ruby 中,如何以最有效的方式将数组转换为字符串?
@x = ["foo","bar"]
@x = @x.join(", ") #=> "foo, bar"
只是想知道是否有更好的方法来做到这一点。
不可能有“爆炸版”。这将意味着就地更改对象。但join
计算String
出一个Array
。所以之后它不可能是同一个对象。
只是想知道是否有更好的方法来做到这一点。
你想用这个Array#*
吗?
x = ["foo","bar"]
x *", " # => "foo, bar"
注意:-Array#*
带有字符串参数的方法将为您提供一个新的字符串对象。
正如 Arup Rakshit 所提到的,当提供字符串作为参数时,Array#*
运算符会被重载以调用。#join
您可以利用 ruby*=
运算符提供的语法糖。所以
a = *1..10
> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a *= '|'
> "1|2|3|4|5|6|7|8|9|10"
a
> "1|2|3|4|5|6|7|8|9|10"
更容易:
@x = ["foo","bar"]
@x.join(',').split(', ')
#=> "foo, bar"
你考虑过@x.to_s
吗?我不确定你在寻找什么输出。