变异迭代器的map方法

时间:2019-06-17 15:32:19

标签: ruby enumerable

我有一个要使用map迭代的对象数组-

object_array.map {|o| o.dostuff }

但是我希望o迭代器是对象的字符串表示形式,所以我必须做这样的事情-

object_array.map do |o|
  o = o.to_s
  o.dostringstuff
end

有什么办法可以做到一行吗? (intrepreter不接受)

object_array.map {|o.to_s| o.dostringstuff }

2 个答案:

答案 0 :(得分:3)

为什么不链接map,尤其是与shorthand syntax via Symbol#to_proc链接?

object_array.map(&:to_s).map(&:dostringstuff)

答案 1 :(得分:2)

怎么了?

object_array.map{|o| o.to_s.dostringstuff }