Ruby Koans Ruby Koans을 거치고 있으며 "about_class_methods.rb"의 클래스 메소드 설정에 대한 논의가 있으며 Koans는 세 가지 방법에 대해 설명합니다. ,루비 클래스 메서드 설정
class << self
def class_methods
end
end
화두는 또한 세 번째 방법에 대해 얘기를 나는 본 적이 :
class Demo (define/open class)
def self.method
end
2 :
1 : 클래스 메소드를 작성하는
두 가지 주요 방법이 있습니다 (내가 기억하는) :
def Demo.class_method_third_way
end
Q1이 세 번째 방법은 실제로 다른 어떤 것보다 나에게 더 분명합니다. 왜 아무도 그것을 사용하지 않는 이유에 대해 이해하지 못하는 이유가 있습니까?
질문 2 내가 2의 구문을 "자기 < < def name end"이어야한다고 잘못 생각하는 이유는 무엇입니까? 그것이 "왜 문법입니까?"입니다. 클래스 Object가 모든 클래스에 대한 참조를 보유하고 있으며 자체 클래스에 대한 메서드에서이 막대기를 사용합니까?
언제나처럼, 당신의 도움과 인내심에 감사드립니다!
감사합니다. Arie. 나는 그 링크를 읽었다. 나는 너무 많은 도움이되는 멍청아이다. 나는 또한 이것을 발견했다 : 같은 땅의 일부를 다루는 http://www.devalot.com/articles/2008/09/ruby-singleton. 내 1 분기에 대한 대답으로, (괜찮 았던) 의견을 말하지 않고 있다고 생각하며, 2 분기에 대한 답변으로, 나는 당신이 싱글 톤 개념을 확장하고 있다고 생각합니다. 그렇다면 Demo.class_method가 더 자주 사용되는 이유는 무엇입니까? 내가 빠진 것이 있습니까? – codenoob
@codenoob'class << self;를 사용한다면; end'를 사용하면 클래스 이름을 리팩터링 할 때이 명령문 블록에서 이름을 수정할 필요가 없습니다. –