Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

xmpfilterでRubyスクリプトを気軽にチェックできる

xmpfilterをつかうと、Rubyスクリプトを楽々評価できます。

$ gem install rcodetools

emacsで利用する場合、導入したフォルダのrcodetools.elをパスにとおします。
rbenvのRuby2.0系の場合は以下の場所にありました。

/Users/shuzo/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/rcodetools-0.8.5.0/rcodetools.el

見つからない場合は、

$ find / -name rcodetools.el

という力技で発見できます。(

これをsite-lisp等々へコピーし、init.elへ

;;xmp
(setq load-path(cons "~/.emacs.d/site-lisp/" load-path))
(define-key ruby-mode-map (kbd "C-c C-d") 'xmp)
(require 'rcodetools)

を追記し、emacs lispを評価します。

実例

評価したい行の末尾に直接# =>をつけるか「M-;」を二回*1やります。
あとはC-c C-dでやれば結果をぶっ込んでくれます。

def add_values(*v)
  v.inject {|result, item| result += item}
end

p add_values(1,2,3,4)           # => 10
p add_values('a','b','c')       # => "abc"
p add_values([1,2],[3,4])       # => [1, 2, 3, 4]

# >> 10
# >> "abc"
# >> [1, 2, 3, 4]

*1:初回で#、二回目で=>