IRB (대화 형 루비 콘솔)를 사용하여 Ruby로 프로그래밍하는 방법을 배우고 있습니다. 먼저 텍스트 편집기에서 프로그램을 작성하는 경우 콘솔에 파일을로드하려면 어떻게합니까?
IRB (대화 형 루비 콘솔)를 사용하여 Ruby로 프로그래밍하는 방법을 배우고 있습니다. 먼저 텍스트 편집기에서 프로그램을 작성하는 경우 콘솔에 파일을로드하려면 어떻게합니까?
답변:
IRB에 하나의 파일 만로드해야하는 irb -r ./your_file.rb
경우 동일한 디렉토리에있는 경우 해당 파일을 호출 할 수 있습니다 .
이렇게하면 파일이 자동으로 필요하며 즉시 작업 할 수 있습니다.
rake irb
모든 작업을 수행 할 수 있습니다 .
irb -r /foo/foo.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가 같은 디렉토리에 있다고 가정합니다. 그에 따라 조정하십시오.
require_relative
. 예를 들면 require "./lib/foo"
다음과 같습니다require_relative "lib/foo"
.rb
선택 사항입니다. require './ruby_file'. I checked in
루비 1.9.3p551`을 작성할 수 있습니다.
두 가지 방법:
source("filename.rb")
require("filename.rb")
require
반면, 스크립트를 (원래 소스에 대한 수정이 세션에 반영되지 않습니다) 다시 나타나지 않는 source
나타납니다 원래 스크립트에 변경 사항을 반영 할 수 있습니다.
루비에 따라 다릅니다. Ruby 1.8에는 현재 경로가 포함되지만 Ruby 1.9에는 포함되지 않습니다. 평가 $:
경로가 포함인지 아닌지 판단합니다. 따라서 루비 1.9에서는 전체 경로를 사용해야하며 이는 항상 안전한 방법입니다.
그런 다음 require
또는 load
을 사용 하여 파일을 포함 할 수 있습니다 .
require
파일을 찾으려고 할 때 파일의 접미사를 추가 할 필요가 없으며 파일을 한 번만 포함합니다. 대부분의 시간 require
대신 사용해야합니다 load
.
Ruby 1.8을 사용하려는 경우 $ LOAD_PATH (Ruby)에 디렉토리 추가를 확인하십시오.
irb에 경로를로드하는 또 다른 방법은 require를 입력 한 다음 파일을 터미널로 드래그 앤 드롭하는 것입니다 .🙂 -Linux Mint를 사용하여 테스트되었습니다.