2009-11-13 2 views
2

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

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

Благодаря

ответ

0

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

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

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

# Lists sketches and their code 
>> sketches 

# Reopens the first sketch from above 
>> sketch 1 

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

+0

Только что вернулся из кинотеатра. Вы, ребята, должны посмотреть фильм. Роланд просто установил новый стандарт! Попробуем эскиз и бозон позже. – Codism

1

Так вот метод, который будет добавлять команды, введенные в вашей IRB сессии в файл в вашем домашнем каталоге (идея из рубинового разговора: 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

Это не то, что я искал. Я не хочу копаться в моей истории ввода, чтобы узнать, что я сделал с текущей сессией. Но спасибо, что показал мне взломать историю захвата. – Codism