小编Lar*_*eth的帖子

Ruby中具有相同名称和不同参数的方法

我有这个代码:

def setVelocity (x, y, yaw)
  setVelocity (Command2d.new(x,y,yaw))
end
def setVelocity (vel)
......
end 
Run Code Online (Sandbox Code Playgroud)

vel是一个Command2D类,有3个属性,可比较和定义+,基本上是一个方便的类来管理这3个属性,所以我想在我的库内部使用它(不想让它们变成私有的,要么给它们奇怪的名字).但是,即使参数数量不同,Ruby似乎也只保留最后一个setVelocity.所以当我用3个参数调用setVelocity时会说我只需要用一个参数调用该方法.

ruby overloading

19
推荐指数
1
解决办法
2万
查看次数

标签 统计

overloading ×1

ruby ×1