我需要将下面的代码写在一行中。它在我看来很难看:
@photos = []
@vehicle.photos.each { |p| @photos << view_context.present(p) }
我该怎么办?
最佳答案
迭代可枚举对象的模式(@vehicle
),对每个元素应用一个函数(view_context.present(p)
),并将结果附加到新创建的数组 (@photos
) 封装在 map
中方法:
@photos = @vehicle.photos.map { |p| view_context.present(p) }
关于ruby - 如何将这个循环减少到单行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23129108/