我有一组字符串,我希望通过运行函数进行普遍转换,例如add_underscore(string)
。
在没有迭代代码的情况下,是否有一种原生语法方法可以做到这一点?
答案 0 :(得分:4)
您可以使用map将函数应用于集合中的每个元素。
>> a = [ "a", "b", "c", "d" ]
=> ["a", "b", "c", "d"]
>> a.map { |x| x.upcase }
=> ["A", "B", "C", "D"]
答案 1 :(得分:3)
以MYYN的回答为基础......
set = [ 'one', 'two', 'three', 'four' ]
# in Ruby 1.9 this:
set.map &:capitalize # => [ 'One', 'Two', 'Three', 'Four' ]
# is the same as this:
set.map { |x| x.capitalize }
请注意map
返回一个新数组,它不会修改现有数组。此外,它使用enumerable
迭代数组中的每个项目;这仍然是做到这一点的最佳方式,只是想你可能想知道。