Ruby에서 클래스 이름과 모듈 이름을 얻는 방법
클래스 이름을 얻는 방법
클래스 이름을 얻으려면:
class User
def call = puts self.class.name
end
User.new.call #=> User
이름이 모듈 내부의 네임스페이스인 경우에도 작동합니다.
module Authenticated
class Visitor
def call = puts self.class.name
end
end
Authenticated::Visitor.new.call #=> Authenticated::Visitor
모듈 이름을 얻는 방법
전화하면 작동하지 않음
class.name
module Authenticated
def self.call = puts self.class.name
end
Authenticated.call # will return Module!!
그러나 모듈은 이름이 지정된 접근자를 정의합니다
name
.module Visitors
def self.call = puts self.name
end
Visitors.call # will return Visitors
예 모듈에 정의된 상수
name
가 있습니다.물론 원하는 경우 재정의할 수 있습니다.
module Guest
def self.name = "Another name"
def self.call = puts self.name
end
Guest.call # will return "Another name"
보너스: 현재 메소드 이름을 얻는 방법
이를 위해
__method__
를 사용하십시오.class Admin
def call(...) = puts __method__
end
Admin.new.call # "call"
Reference
이 문제에 관하여(Ruby에서 클래스 이름과 모듈 이름을 얻는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lucianghinda/how-to-get-class-name-and-module-name-in-ruby-1hm8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)