新手问题 Ruby 中的 @ 符号在定义 method 里是什么意思?

jesse · 2015年07月09日 · 最后由 vincent 回复于 2015年07月10日 · 2067 次阅读

最近看 rubinius 的源代码,在 Kernel-->numeric.rb 里看到这样:

class Numeric
  include Comparable

  # Always raises TypeError, as dup'ing Numerics is not allowed.
  def initialize_copy(other)
    raise TypeError, "copy of #{self.class} is not allowed"
  end

  def +@
    self
  end

  def -@
    0 - self
  end
end

有人可以解释一下 这个 +@ 和 -@是什么意思吗?

表示它所修饰的那个操作符是个一元操作符

@quakewang 原来 ruby 和 @ 还有这等神奇用法,涨姿势了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号