Как просмотреть / сохранить / загрузить рабочее пространство в интерактивном режиме ruby - PullRequest
2 голосов
/ 13 ноября 2009

Мне нужна интерактивная среда, чтобы поиграть с некоторыми алгоритмами. Я хочу иметь возможность просматривать то, что уже определено (данные, функции) и иметь возможность сохранять / загружать, чтобы я мог продолжить с предыдущего сохраненного снимка, если что-то пошло не так Поскольку я выбрал ruby ​​в качестве основного языка сценариев, я надеюсь, что в него встроены эти функции.

Если интерактивный режим ruby ​​не предоставляет этих функций, что еще вы порекомендуете для этого?

Спасибо

Ответы [ 2 ]

1 голос
/ 13 ноября 2009

Итак, вот техника, которая добавляет команды, введенные в вашем сеансе IRB, в файл в вашем домашнем каталоге (идея ruby-talk: 58931). Поместите в свой .irbrc следующее:

module Readline
  module History
    LOG = "#{ENV['HOME']}/.irb-history"

    def self.write_log(line)
      File.open(LOG, 'ab') {|f| f << "#{line}
"}
    end

    def self.start_session_log
      write_log("
# session start: #{Time.now}

")
      at_exit { write_log("
# session stop: #{Time.now}
") }
    end
  end

  alias :old_readline :readline
  def readline(*args)
    ln = old_readline(*args)
    begin
      History.write_log(ln)
    rescue
    end
    ln
  end
end

Readline::History.start_session_log
0 голосов
/ 14 ноября 2009

Вы должны проверить наброски gem , которые позволят вам создать прототип кода во временном файле в выбранном вами редакторе. Я не думаю, что он поддерживает снимки.

В irb я бы использовал его следующим образом:

>> sketch
# Write some code in an editor ...

# Lists sketches and their code
>> sketches

# Reopens the first sketch from above
>> sketch 1

Если вам нужна более мощная интерактивная среда прототипирования, см. boson .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...