Emacs Lisp での繰り返しの書き方

繰り返しを書くときは、まず mapcar, find-if などの高階関数で書けるかどう かを検討する。書けなければ dolist, dotimes などを使う。それでも書けなけ れば、while, loop, 再帰を使う。 ...

2003-09-11 (木) · masutaka

list を car しながら loop 処理させる。

(dolist (target '(a b c)) (if (eql 'b target) (return target)))

2003-09-07 (日) · masutaka

正規表現を interactive にテストする

M-x re-builder

2003-08-27 (水) · masutaka

10進数=>16進数は前者を使った方が安定しているみたい。

(string-to-number "20" 16) #=> 32 (read (concat "?\\x" "20")) #=> 32

2003-07-07 (月) · masutaka

シングルクォートで括れば、なんでも実行できるな。

% emacs -q –no-site-file -batch -eval ‘(message (getenv “HOME”))’

2003-05-26 (月) · masutaka

文字列の置換 "hogehoge," => "hogehoge"

(let ((str "hogehoge,") (regexp ",$") (newstr "")) (cond ((eq emacs-major-version 21) (replace-regexp-in-string regexp newstr str)) ((eq emacs-major-version 20) (progn (string-match regexp str) (replace-match newstr nil nil str))) ((eq emacs-major-version 19) (progn (require 'dired) (dired-replace-in-string regexp newstr str)))))

2003-04-04 (金) · masutaka

M-x list-load-path-shadows

ファイル名がかぶっていて、loadされないファイルを表示する。

2003-03-31 (月) · masutaka

関数の実体を表示する。

(symbol-function 'MEW-TO) => (lambda nil (aref mew-vec 5))

2003-03-12 (水) · masutaka

play-sound()

GNU-Emacs 21.2.93 だと音を鳴らせるようだ。 (play-sound '(sound :file "~/Mail/email.wav"))

2003-03-02 (日) · masutaka

call-process()

call-process()でファイル名等を渡す時は expand-file-name()しなければならない。

2003-03-02 (日) · masutaka