Powiedzmy mamy taki fragment kodu:
[code]class Foo
def method
bar
self.bar
end
private
def bar
puts “Hello”
end
end
Foo.new.method[/code]
Wynik programu:
Hello
cos.rb:4:in `method': private method `bar' called for #<Foo:0x7fb6a005a498> (NoMethodError)
from cos.rb:13
czemu przy self.bar wywala mi błąd, że odwołuję się do metody prywatnej, a bez self działa? Zawsze myślałem, że self to taki odpowiednik this (choć z małymi różnicami) i zapis self.bar i bar jest tożsamy.