是否有更正确的方法将数组内容输出为逗号分隔的字符串
@emails = ["joe@example.com", "Peter@example.com", "alice@example.com"]
@emails * ","
=> "joe@example.com", "Peter@example.com", "alice@example.com"
这是可行的,但我相信一定有更优雅的解决方案。
发布于 2011-08-22 18:52:55
你有没有试过这个:
@emails.join(",")
发布于 2016-12-12 07:02:49
尽管OP和许多答案暗示数组总是有内容,但有时我发现自己需要连接一个可能包含“空”元素的列表(通常用于连接UI的数据)。
下面是不同方法如何处理这种“不完美”字符串数组的小“进展”:
['a','b','',nil].join(',') # => "a,b,,"
['a','b','',nil].compact.join(',') # => "a,b,"
['a','b','',nil].compact.reject(&:empty?).join(',') # => "a,b"
['a','b','',nil].reject(&:blank?).join(',') # Rails only
最后一种是我最喜欢的(Rails)方法。
发布于 2015-04-15 01:09:22
我只需要使用AllowedUsers <%= _allowed_users.join(" ") %>
在ERB模板中执行类似的操作。它可能不像您所期望的那样优雅,但它与我在几种语言中看到的实现是相同的,因此这可能是可读性的一个优势。
https://stackoverflow.com/questions/7146353
复制相似问题