어떤 이유로 irb를 입력 한 직후에 정의 된 d
이라는 변수가 있습니다. 어떤 생각인지 그것은 무엇입니까? 나를 위해irb에서 사전 정의 된 변수 "d"가있는 이유는 무엇입니까?
1
A
답변
6
당신은 혹시 irbtools
를 사용하고 있습니까? 그렇다면, 그 대략 다음과 같습니다, d
라는 미리 정의 된 방법이있다 :
def d
self.tap { |v| puts v }
end
그것은이 같은 디버그 메시지 체인에 사용할 수 있습니다 obj.some_method.d.other_method
.
레벨이 Object
이므로, main
을 반환하는 IRB 최상위 레벨에서 호출하면 작동합니다. 당신은 ~/.irbrc
의 supress 로딩에 -f
스위치 irb
를 실행할 수 있습니다
2
하지 :
$ irb
>> d
NameError: undefined local variable or method `d' for main:Object
from (irb):1
4
: d
이 어딘가에서 오는 경우
irb -f
이 빨리 당신에게 말할 것이다 ~/.irbrc
(가 대부분이다 - 마이클의 답변을 참조) .
무엇입니까? – meagar
'method'를 사용하면 스스로 해결할 수 있습니다. –
Andrew, '방법 사용'은 무엇을 의미합니까? – pitosalas