запустить ruby ​​из буфера emacs - PullRequest
10 голосов
/ 21 апреля 2011

Как запустить фрагмент кода ruby ​​из буфера, не сохраняя буфер в файле?Сценарий может состоять в том, чтобы: а) переключиться на рабочий буфер; б) режим Mx ruby; в) ввести код ruby; d) «скомпилировать» буфер и распечатать результаты в другом буфере.Я не хочу сохранять содержимое буфера в файл, а затем «скомпилировать» этот файл

ОБНОВЛЕНИЕ 1-9-2011 Какие последние версии ruby-mode и inf-ruby и где я могу получитьих?Я использую ubuntu natty версию ruby ​​mode и elpa версию inf-ruby из emacs 23.2.В чистой конфигурации emacs следующая конфигурация (см. Ниже) завершается с ошибкой:

can't convert nil into String 
from (irb):1:in `eval' 
from (irb):1". 

Конфигурация просто следующая, никаких других директив конфигурации в emacs.d:

(require 'ruby-mode)
(load-file "Configs/.emacs.d/elpa/inf-ruby-2.1/inf-ruby.el")

(autoload 'inf-ruby "inf-ruby" "Run an inferior Ruby pathrocess" t)
(autoload 'inf-ruby-keys "inf-ruby" "" t)
(eval-after-load 'ruby-mode
  '(add-hook 'ruby-mode-hook 'inf-ruby-keys))

Ответы [ 2 ]

17 голосов
/ 17 июня 2011

Вы можете сделать это с inf-ruby.el.

С установленным inf-ruby, M-x inf-ruby запускает новый интерпретатор ruby ​​в фоновом режиме, на который вы можете отправлять код с помощью команд ruby-send-*, напримеркак ruby-send-region (по умолчанию ограничено C-c C-r).Чтобы отправить весь буфер, выберите все с помощью C-x h, затем нажмите C-c C-r.

Обновление, 2011-09-02: Последняя версия inf-ruby.el (2.1.1,доступно в ELPA), поддерживается 'nonsequitur' на github , а пакеты моментальных снимков доступны в Melpa .

3 голосов
/ 21 апреля 2011

Несколько вариантов для вас, чтобы попробовать

1. Ринари от Github

Это утверждает, что

нацелено на превращение Emacs в первоклассную разработку Ruby и Rails окружающая среда


2. ruby-compilation.el - это то, что вам нужно.

Здесь есть нить здесь , которую я использовал и нашел полезной.

Chris

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