読者です 読者をやめる 読者になる 読者になる

opamp_sando's blog

クソザコが割りと適当なことを書くためにある備忘録です。あとたまに普通の日記も書きます

文章中のS式を評価して置き換える

テキストファイルで

I(X;Y) = (- 0.971 - 0.612)

と書いて、S式の部分を計算して置き換えてくれたらとても便利な気がした。

ぐぐってみると

http://stackoverflow.com/questions/3035337/in-emacs-can-you-evaluate-an-emacs-lisp-expression-and-replace-it-with-the-resul

この資料が見つかった。以下のコードは上記URLから抜粋。

(defun replace-last-sexp ()
  (interactive)
  (let ((value (eval (preceding-sexp))))
    (kill-sexp -1)
    (insert (format "%S" value))))

これをinit.elなどに適当に貼り付けて動かしてみる。

後ろの括弧の後にポイントを持って行ってM-x replace-last-sexpとすると以下のようになる。

I(X;Y) = 0.359

利便性を増すために何かしらショートカットに対応させてもいいかもしれない。

Firefox ブラウザ無料ダウンロード