将每个对象与对象数组一起使用
Using each for object with an array of objects
我有一个对象 @cars = Cars
,它有一个对象数组 car_array
,对象 Car
有实例变量 @id
和 @mileage
,所以,写它作为伪数组,它是:
Cars = [
Car1 = [1, 12000],
Car2 = [2, 33000]
]
有没有办法编写一个 each
方法来遍历汽车,这样:
@cars.each do |id, mileage|
...
end
?
我尝试在 Cars
中执行自定义 each
方法:
def each(&block)
@car_array.each(&block)
end
但这只会 return 每个 Car
对象进入枚举器。我如何将每个 Car
对象转换为数组?
在ruby中,我们使用链式方法来完成不同的复杂转换:
@cars.map do |car|
[car.id, car.mileage]
end.each do |id, mileage|
...
end
我有一个对象 @cars = Cars
,它有一个对象数组 car_array
,对象 Car
有实例变量 @id
和 @mileage
,所以,写它作为伪数组,它是:
Cars = [
Car1 = [1, 12000],
Car2 = [2, 33000]
]
有没有办法编写一个 each
方法来遍历汽车,这样:
@cars.each do |id, mileage|
...
end
?
我尝试在 Cars
中执行自定义 each
方法:
def each(&block)
@car_array.each(&block)
end
但这只会 return 每个 Car
对象进入枚举器。我如何将每个 Car
对象转换为数组?
在ruby中,我们使用链式方法来完成不同的复杂转换:
@cars.map do |car|
[car.id, car.mileage]
end.each do |id, mileage|
...
end