1

ruby 中是否有 __rmul__ 的 ruby​​ 等效项?我似乎找不到任何关于此的信息。

4

3 回答 3

2

不确定 py,但是重载运算符*是你想要的吗?

如果那样的话,一个方法*就可以了。

a=Object.new
def a.*(rhs); rhs+2;end

a*2 #=> 4
于 2012-06-20T16:15:19.553 回答
0

进一步研究,似乎 rmul 的等价物是添加

def coerce(other)
    return self, other
end

那么用 is_a 也有通常的 * 重载处理其他类型吗?

于 2012-06-20T16:20:28.943 回答
0

在这里查看关于coerceRuby 的讨论:

在 Ruby 中, coerce() 是如何工作的?

于 2012-06-20T17:26:33.327 回答