Как запустить .rb файл из IRB?

#ruby-on-rails #ruby #irb

#ruby-on-rails #ruby #irb

Вопрос:

Я начинаю с Ruby on Rails. В настоящее время я просматриваю руководство, где говорится, что я должен запустить файл .rb из IRB и что это создаст файл .xml в моем текущем каталоге.

Мой вопрос в том, как мне запустить .rb файл в IRB?
И обязательно ли мне находиться в каталоге, в котором находится этот .rb файл, когда я запускаю его в IRB?

Я попробовал следующее: просто набрав irb в командной строке в каталоге файла. Насколько я понимаю, это запускает сеанс IRB.
Затем я набрал irb "filename.rb" , который прошел, но ничего не создал в текущем каталоге, но, по крайней мере, он не выдал никаких ошибок.

Я также перепробовал целую кучу других вещей, которые просто выдавали мне ошибки. Так что я не думаю, что смогу решить это самостоятельно, и поиск в Google вообще не помог.

Я использую Leopard.

Ответ №1:

Вы можете «запустить» файл в irb, просто запросив или загрузив его.

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

Чтобы изменить свой текущий рабочий каталог в irb, вы можете использовать FileUtils:

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

Комментарии:

1. чтобы запросить его из irb, вам необходимо указать полный путь, таким образом: require '~/myrubystuff/coolstuff.rb' вместо просто require 'coolstuff'

2. Я смог запросить fileutils только по имени, путь к каталогу не требовался. Я уверен, что это зависит от среды, и не всем нужно будет использовать указанный путь.

Ответ №2:

В случае, если вы хотите, чтобы ваш файл был загружен в сеансе 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
  

Вы сможете использовать класс Example в сеансе irb.

Комментарии:

1. это было то, что я на самом деле искал, большое спасибо!

2. Это предоставляет доступ только к функциям, а не к переменным, определенным в файле.

Ответ №3:

Мы можем просто создать файл .rb в каталоге, в котором вы в данный момент работаете, используя любой текстовый редактор и ввести в него весь код, а затем использовать команду ruby filename.rb в терминале, а не в irb, тогда вывод будет показан в irb.

Комментарии:

1. Но, загрузив файл, вы можете получить доступ к определенным там переменным. Удобно при устранении неполадок или при работе с библиотекой.

2. @Sreenivas Это было именно то, что я искал. Спасибо!