2017-12-01 6 views
1

내가 루비에 대한 코드의 작은 조각을 테스트입니다 때 일반적으로, 나는 여러 번 같은 디렉토리, 실행 IRB에 별도의 파일에 코드 덩어리를 넣고 다음 명령을 실행 :irb는 어떻게 작동합니까?

Dir[Dir.pwd + "/*.rb"].each { |file| require file } 

모든 파일을로드 irb에. 어느 날 내 질문에 데려다 : 파일을 필요로 할 때, irb는 어떻게 그 요청을 처리합니까? 모든 요구를 받아 들여 하나의 전반적인 '파일'에 넣습니까? 나는 irb가 작동하는 방법을 찾고 있습니다.

답변이 있거나 올바른 방향으로 나를 가리킬 수 있으면 감사하게 생각합니다.

건배

+1

아마도 https://github.com/ericmathison/articles/blob/master/understaning-require-in-ruby.md에서 확인하십시오. –

+0

감사합니다. 그 기사는 정말 도움이되었고 내가 찾고 있던 것이 었습니다. – Darkisa

답변

1

짧은 대답은 다음과 같습니다

require로드 루비 인터프리터로 파일. 소스 코드가 분석되고, 부산물이 루비 런타임 (클래스로드 등)에 통합 된 다음 소스 코드가 어디에도 저장되지 않고 결국 가비지 수집됩니다 (점유 된 메모리가 해제 됨).