#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 Это было именно то, что я искал. Спасибо!