将每个对象用于具有对象数组的对象

时间:2017-10-01 18:03:51

标签: ruby each

我有一个对象@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对象转换为数组?

1 个答案:

答案 0 :(得分:3)

在ruby中,我们使用链式方法来完成不同的复杂变换:

@cars.map do |car|
  [car.id, car.mileage]
end.each do |id, mileage|
    ...
end