루비 셀프
self
를 사용하면 현재 개체에 액세스할 수 있습니다.수업
클래스
self
의 컨텍스트에서 현재 클래스를 나타냅니다.class Dog
p self # the Dog class
end
self에 메소드를 정의하면 클래스 메소드가 생성됩니다.
인스턴스 메소드
인스턴스 내에서 self는 인스턴스 자체를 참조합니다.
class Dog
def bark
self
end
end
p Dog.new.bark # an instance of the Dog class
암시적 자아
명시적 수신 개체 없이 메서드를 호출하면 메서드가 암시적으로 self에 대해 호출됩니다. 일반 영어에서 이것은 함수 호출의 왼쪽에 아무것도 없으면 왼쪽이 self임을 의미합니다.
class Person
attr_reader :first_name, :last_name
def initialize(first_name, last_name)
@first_name = first_name
@last_name = last_name
end
def full_name
"#{first_name} #{last_name}" #implied self. Instance of person
end
end
최상위 레벨
최상위 레벨에서 self는 주요 루비 객체를 나타냅니다.
p self # the main object
모듈
self가 모듈의 인스턴스 메소드 내에서 사용될 때 모듈이 포함된 클래스의 인스턴스를 참조합니다.
모듈 내부의 인스턴스 메소드 외부에서 self를 볼 때 모듈을 참조합니다.
p
그 자체가 무엇인지 궁금하시다면. obj.inspect와 유사하게 동작하는 커널 메서드입니다. 일부 개체에서 호출해 보세요. :)
Reference
이 문제에 관하여(루비 셀프), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/saturn226/ruby-self-5gkd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)