elispでprintデバッグ
こんな関数を定義してみるのはどうだろう.
;;; printデバッグ用関数 (defun p (FORMAT-STRING &rest ARGS) (prog1 (apply 'message FORMAT-STRING ARGS) (sit-for 3))) ;;; 例 (setq num 10) (p "num: %d" num) ; => "num: 10" (message "num: %d" num) ; => "num: 10"
message関数と使い方は同じ.messageと違って表示後に一時停止するので,関数の途中に挟んでも変数の値を見る時間がある.
一文字の関数で入力しやすいというのも利点.もちろんRubyのパクり.グローバルなelispでこんな名前の関数を定義するのは危険すぎる気もするが…….