我有一个对象@cars = Cars
,其对象car_array
包含实例变量Car
和@id
,因此,将其写为伪数组它:
@mileage
有没有办法写一个Cars = [
Car1 = [1, 12000],
Car2 = [2, 33000]
]
方法迭代汽车,这样:
each
我已尝试在@cars.each do |id, mileage|
...
end
中执行自定义each
方法:
Cars
但这只会将每个def each(&block)
@car_array.each(&block)
end
对象返回到枚举器中。然后我如何将每个Car
对象转换为数组?
答案 0 :(得分:3)
在ruby中,我们使用链式方法来完成不同的复杂变换:
@cars.map do |car|
[car.id, car.mileage]
end.each do |id, mileage|
...
end