IRB에서 .rb 파일을 실행하는 방법은 무엇입니까?


88

Ruby on Rails로 시작합니다. 저는 현재 IRB에서 .rb 파일을 실행해야하며 현재 디렉토리에 .xml 파일을 생성한다는 튜토리얼을 진행 중입니다.

내 질문은 IRB에서 .rb 파일을 어떻게 실행합니까?
IRB에서 실행할 때이 .rb 파일이있는 디렉토리에 있어야합니까?

다음을 시도했습니다 irb. 파일 디렉토리의 명령 줄에 입력하기 만하면됩니다 . 내가 이해하는 한 IRB 세션이 시작됩니다.
그런 다음 입력 irb "filename.rb"했지만 현재 디렉토리에 아무것도 생성하지 않았지만 적어도 오류가 발생하지 않았습니다.

나는 또한 나에게 오류를주는 다른 것들을 많이 시도했다. 그래서 나는 이것을 스스로 해결할 수 없다고 생각하고 인터넷 검색은 전혀 도움이되지 않았습니다.

저는 Leopard를 운영하고 있습니다.

답변:


175

파일을 요청하거나로드하기 만하면 irb에서 파일을 "실행"할 수 있습니다.

$ irb
>> load './filename.rb'

irb 내에서 현재 작업 디렉토리를 변경하려면 FileUtils 를 사용할 수 있습니다 .

>> require 'fileutils'
>> FileUtils.pwd # prints working directory
>> FileUtils.cd '/path/to/somewhere' # changes the directory

3
따라서, 정규화 된 경로를 제공하기 위해 IRB에서 당신이 필요가 필요합니다 : require '~/myrubystuff/coolstuff.rb' 대신의 require 'coolstuff'
runlevel0

fileutils이름만으로도 요구할 수 있었고 디렉토리 경로는 필요하지 않았습니다. 환경에 따라 다르며 모든 사람이 정규화 된 경로를 사용해야하는 것은 아닙니다.
volx757

5

irb 세션 에서 파일을로드하고 싶고 Ruby 2 이상을 사용하는 경우 다음과 같이 irb 에서 파일을로드 할 수 있습니다 .

irb -r ./the_name_of_your_file.rb

그러면 주어진 파일이로드 된 irb 세션이 열립니다.

다음과 같은 클래스의 파일이 있다고 상상해보십시오.

class Example
  def initialize(name)
    @name = name
  end

  def print__example
    p name
  end
end

irb 세션 에서 Example 클래스를 사용할 수 있습니다 .


그것이 제가 실제로 찾고 있던 것이 었습니다. 정말 감사합니다!
thomas

이렇게하면 파일에 정의 된 변수가 아닌 함수에만 액세스 할 수 있습니다.
Radon Rosborough

2

텍스트 편집기를 사용하여 현재 작업중인 디렉토리에 .rb 파일을 만들고 그 안에 모든 코드를 입력 한 다음 ruby filename.rbirb가 아닌 터미널 에서 명령을 사용 하면 irb에 출력이 표시됩니다.


4
그러나 파일을로드하면 거기에 정의 된 변수에 액세스 할 수 있습니다. 문제를 해결하거나 라이브러리를 가지고 놀 때 편리합니다.
Sonia Hamilton

@Sreenivas 이것은 내가 찾던 바로 그것이었습니다. 감사!
Joshua Pinter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.