以下代碼打印NoMethodError
。我不明白原因。儘管我調用的方法是私有的,但我從類內部調用它。不能使用類var訪問它是私有變量/函數嗎?我可以用Java來做到這一點。爲什麼我無法從班內訪問私人功能?
class Tester
private
def func_pri
puts("From a private function")
end
protected
def func_prot
puts("From a protected function")
end
public
def func_pub
puts("From a public function")
end
public
def caller(object)
object.func_pub
object.func_pri # This statement causes error
object.func_prot
end
end
o = Tester.new
o.caller(o)
當您將對象用作參數時,您從範圍外調用此方法。使用發送,或在調用方法,做self.fun_pri – texasbruce
這是什麼語言(哦,它是紅寶石)?爲什麼你通過