Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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:初回で#、二回目で=>