6
어떻게 작동하나요? 다음을 실행하면 "hi from class"
이 두 번 인쇄됩니다. 이것이 루비 안에서 어떻게되어 이런 일이 일어나게할까요? 나는 사실 나는 당신이 알고 있습니다 여부를 알 수없는 클래스클래스 클래스 - 인스턴스 대 클래스 메서드
class Class
def foo
puts "hi from class"
end
end
Class.foo
x = Class.new
x.foo
그래서 (클래스 클래스의 본문에서) def self.foo; "자기를 ** 자기에게서"; end;'... 이제'Class.foo' 문은'hi from self'를 출력합니까? – slindsey3000
@ slindsey3000 :'Class'에 인스턴스 메소드와 클래스 메소드를 정의하면'Class.foo'는 클래스 메소드를 호출하고'AnyOtherClass.foo'는 인스턴스 메소드를 호출합니다. 그래서 당신의 예제에서'Class.foo'는'hi from ** self **'를 출력 할 것입니다. 'String.foo'는'hi from class'를 출력합니다. – sepp2k