Actions
Feature #10240
closed`String#to_a`
Feature #10240:
`String#to_a`
Status:
Rejected
Assignee:
-
Target version:
-
Description
I often want to exclude the empty strings from an array of strings. A use case is to join an array of strings with ", ", removing the empty ones, as follows:
["Foo", "", "Bar"].reject(&:empty?).join(", ") # => "Foo, Bar"
In a similar situation with arrays of arrays, the empty ones can be excluded by using * and Array#to_a:
[*[1, 2], *[], *[3, 4]] # => [1, 2, 3, 4]
I would like to propose String#to_a defined as follows:
class String
def to_a; empty? ? [] : [self] end
end
Then we can do:
[*"Foo", *"", *"Bar"].join(", ")
Actions