[ruby] Ruby : 대화 형 Ruby 콘솔 (IRB)에 파일을로드하는 방법은 무엇입니까?

IRB (대화 형 루비 콘솔)를 사용하여 Ruby로 프로그래밍하는 방법을 배우고 있습니다. 먼저 텍스트 편집기에서 프로그램을 작성하는 경우 콘솔에 파일을로드하려면 어떻게합니까?



답변

IRB에 하나의 파일 만로드해야하는 irb -r ./your_file.rb경우 동일한 디렉토리에있는 경우 해당 파일을 호출 할 수 있습니다 .

이렇게하면 파일이 자동으로 필요하며 즉시 작업 할 수 있습니다.


답변

Ubuntu 14.04에서 ruby ​​1.9.3을 사용 irb하면 다음 명령 줄 을 사용하여 현재 디렉터리에서로 파일을로드 할 수 있습니다.

irb -I . -r foo.rb

foo.rb현재 디렉토리에서로드 할 파일은 어디에 있습니까 ? 이 -I옵션은 .ruby man 페이지에 설명 된대로 현재 디렉토리 ( )를 ruby의로드 경로 에 추가하는 데 필요 합니다. 이것은 require현재 디렉토리의 파일을 가능하게하는데 , 이는 -r옵션이 irb수행하는 것입니다.

이 문제가 있었을 때 나에게 분명하지 않은 핵심 부분은 -I옵션입니다. 그렇게 하면 현재 디렉토리의 모든 파일에 대해 require 'foo.rb'내부에서 호출 할 수 있습니다 irb. 물론, 당신은뿐만 아니라, 원하는 디렉토리를 지정할 수 있습니다 .-I옵션을 선택합니다. 로드 경로에 여러 디렉토리를 포함하려면 콜론 (:)으로 구분합니다. 예 :

irb -I foo/:bar/:baz/

이 명령은 디렉토리를 추가 할 것입니다 foo, bar그리고 baz루비의로드 경로.

마지막 대안은 파일을 사용 require하거나 -r로드 할 때 파일에 대한 상대 또는 절대 경로를 사용 하는 것입니다.

irb -r ./foo.rb

또는 내부에서 irb:

> require './foo.rb'


답변

입력 irb

그리고

require './ruby_file.rb'

이것은 ruby_file.rb가 같은 디렉토리에 있다고 가정합니다. 그에 따라 조정하십시오.


답변

두 가지 방법:

  1. 프로그램 실행 하지 않고 소스를로드 하려면 모든 변수와 함수에 액세스 할 수 있습니다.

source("filename.rb")

  1. 프로그램을 실행 한 다음 대화 형 모드로 전환합니다. 이것은 변수가 아닌 함수에만 액세스 할 수 있도록합니다.

require("filename.rb")


답변

루비에 따라 다릅니다. Ruby 1.8에는 현재 경로가 포함되지만 Ruby 1.9에는 포함되지 않습니다. 평가 $:경로가 포함인지 아닌지 판단합니다. 따라서 루비 1.9에서는 전체 경로를 사용해야하며 이는 항상 안전한 방법입니다.

그런 다음 require또는 load을 사용 하여 파일을 포함 할 수 있습니다 .

require파일을 찾으려고 할 때 파일의 접미사를 추가 할 필요가 없으며 파일을 한 번만 포함합니다. 대부분의 시간 require대신 사용해야합니다 load.

Ruby 1.8을 사용하려는 경우 $ LOAD_PATH (Ruby)에 디렉토리 추가를 확인하십시오.


답변

텍스트 편집기에 루비 코드를 입력하십시오.

.rb 확장자로 저장합니다 (예 : demo.rb ).

Linux에서 터미널을 열고 디렉토리를 해당 파일의 현재 위치로 변경합니다 (cd 명령은 디렉토리를 변경하는 데 사용됨).

그런 다음 irb와 파일 이름을 입력하십시오 (확장자 (.rb)를 포함하는 것을 잊지 마십시오).

irb를 사용하여 루비 파일을로드하려면 여기를 클릭하십시오.

그 이미지에는 “ruby”만 인쇄되는 간단한 ruby ​​파일을로드했습니다.


답변

irb에 경로를로드하는 또 다른 방법은 require를 입력 한 다음 파일을 터미널로 드래그 앤 드롭하는 것입니다 .? -Linux Mint를 사용하여 테스트되었습니다.