Подтвердить что ты не робот

Как вы сохраняете входы IRB в файл .rb?

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

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

4b9b3361

Ответ 1

На моей машине я могу поместить это в мой файл .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

Ответ 4

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

Хорошо стоит посмотреть.

Pry