예를 들면 :임의의 루비 클래스의 전체 파일 경로를 얻는 방법은 무엇입니까?
class Base
def self.inherited(subclass)
puts "New subclass: #{subclass}"
path_of_subclass = ????
end
end
그런 다음 다른 파일/클래스에서,이 자료를 확장합니다.
class X < Base
....
end
수퍼 클래스에서 해당 서브 클래스의 rb 파일 경로를 어떻게 얻을 수 있습니까?
감사합니다 켄, 나는 내가 필요한 것 같아요! 분할 = 호출 [0] .split ("") caller_file = 분할 [0] + ":"+ 분할 [1] 풋 ' 은 내가 호출자의 배열에서 파일을 얻기 위해 다음과 같은했다 caller_file = '+ caller_file 음,이 댓글에는 형식이 잘되어 있지 않습니다. –
'caller'는 기본적으로 서브 클래스가 배열의 첫 번째 항목 인 스택 추적의 배열을 반환합니다. (나는 이것을 처음 사용했을 때 이것을 오해했다.) – Andrew
또한, 파일 이름에 대해 호출자를 구문 분석하는 더 간단한 방법은 다음과 같다 :'caller.first [/^[^ :] + /]' – Andrew