小编aos*_*sik的帖子

关于在ruby中覆盖+运算符的问题

最近在这里转换为Ruby.以下问题并不真实; 这是关于Ruby内部如何工作的更多问题.是否可以覆盖标准加法运算符以接受多个输入?我假设答案是否定的,因为加法运算符是标准运算符,但我想确保我没有遗漏某些东西.

下面是我快速编写的代码,用于验证我的想法.请注意,这完全是微不足道的/做作的.

class Point
    attr_accessor :x, :y

    def initialize(x,y)
        @x, @y = x, y
    end


    def +(x,y)
        @x += x
        @y += y
    end


    def to_s
        "(#{@x}, #{@y})"
    end
end

pt1 = Point.new(0,0)
pt1 + (1,1) # syntax error, unexpected ',', expecting ')'
Run Code Online (Sandbox Code Playgroud)

ruby overriding operators addition

7
推荐指数
2
解决办法
5670
查看次数

标签 统计

addition ×1

operators ×1

overriding ×1

ruby ×1