我有一个将索引作为第一个参数,并将可变数量的其他参数作为参数的方法。我在代码中多次调用了此方法,并向其传递了2-4个附加参数,这些参数将传递给cells
。
我的问题是,例如,当我只需要传递2或3个参数时,最后一个cells
未被分配
def get_count(index,*args)
if index == index
live_count = 0
if cells[args1].alive?
live_count += 1
end
if cells[args2].alive?
live_count += 1
end
if cells[args3].alive?
live_count += 1
end
if cells[args4].alive?
live_count += 1
end
return live_count
end
end
是否有一种优雅的方法可以只传递我需要的参数而又不破坏它?
我将遍历args
,这样您只检查实际给出的内容。
def get_count(index, *args)
return unless index == index
args.count { |arg| cells[arg].alive? }
end
请注意,index == index
始终为true
,所以我不确定为什么在其中。