Как сохранить входные данные IRB в файл .rb? - PullRequest
12 голосов
/ 20 ноября 2010

Может звучать как вопрос новичка (и так как я новичок в Ruby и IRB), но есть ли способ сохранить команды, которые вы сделали в IRB, в файл? Я играю с WATIR и хотел бы сохранить все свои входные данные в файл, а не копировать и вставлять каждый из них.

Спасибо за помощь!

Ответы [ 4 ]

29 голосов
/ 20 ноября 2010

На моей машине я могу поместить это в мой .irbrc файл (расположенный в вашем домашнем каталоге):

Kernel.at_exit {
  File.open("irb.log", "w") do |f|
    f << Readline::HISTORY.to_a.join("\n")
  end
}

Он создает файл irb.log, который содержит вашу историю чтения строки.Irb использует readline для ввода команд.Возможно, он настроен так, чтобы не использовать readline для некоторых людей, я не знаю.И, возможно, в какой-то момент история будет усечена, или, возможно, она будет изменена некоторыми командами, которые вы выполняете в сеансе irb ... но попробуйте и посмотрите, работает ли он.

Если вы хотитеПриглашение irb и результат каждой команды для включения в журнал, затем просто используйте tee для записи вывода irb:

$ irb | tee irb.log
2 голосов
/ 20 ноября 2010

Вы можете запустить vim в irb:

http://vimcasts.org/episodes/running-vim-within-irb/

0 голосов
/ 29 апреля 2013

Я нашел этот вопрос, когда хотел сделать то же самое. В итоге я переключился с IRB на Pry; это отдельный проект REPL для Ruby, имеющий целый ряд расширенных функций, не поддерживаемых в IRB.

Стоит посмотреть.

монтировка

0 голосов
/ 22 ноября 2010

Посмотрите на watir-console .

...