【发布时间】:2019-04-04 18:36:58
【问题描述】:
通过一些代码示例,发现了这个 sn-p,为简洁起见在此处编辑:
class Year
attr_reader :number
def initialize(number)
@number = number
end
def a(str)
puts str
end
def %(other)
number % other # why number instead of @number
end
def my_func()
(self a "hello") # error
end
private
def divisible_by?(i)
(self % i) == 0 #Operator precedence binding self and % together?
end
end
我正在寻找原因:
对
(self % i)的调用不需要self和%之间有空格,我猜它与运算符优先级有关?为什么,在
%(other)的方法定义中,该方法引用number,我原以为它必须引用实例变量@number。
任何帮助和/或链接到可以帮助我解释这一点的 ruby 文档将不胜感激。提前联系
【问题讨论】:
-
请在不同的线程中写不同的问题。
标签: ruby self operator-precedence