タグ

2009年9月21日のブックマーク (3件)

  • Emacs Lisp の構造化 - あどけない話

    忌み嫌われているグローバル変数/関数をなるべく使用しないために、もう一つ小さな空間を用意している言語があります。僕のイメージでは、この空間はゆりかごです。ゆりかごの実現方法として、以下のようなものが挙げられるでしょう。 C++Java ならクラス JavaScript なら関数、あるいはオブジェクト・リテラル Scheme なら手続き(関数) Emacs Lisp も Lisp なんですから、ある関数をゆりかごにして、中に関数を定義したいところです。でも、これはできません。さて、どうするかという話です。 defun で defun defun の中で defun したいところですが、これはうまく行きません。外側の関数が実行されると、内側の関数がグローバル空間に定義されてしまうからです。 (defun foo (n) (defun bar (n) (1+ n)) (bar n)) (fbo

    Emacs Lisp の構造化 - あどけない話
    Hoshi-KN
    Hoshi-KN 2009/09/21
    elispでもschemeの内部関数チックなことができたなんて!
  • ニコニコ動画アーケードゲーム動画まとめ

    一定期間更新がないため広告を表示しています

    ニコニコ動画アーケードゲーム動画まとめ
  • マイナーモードの作り方 easy-mmode編 - おもてなしの空間

    ドキュメントは info の elisp -> Modes -> Minor mode -> Easy-Mmode の項にあるが、僕には、これを読んでももうひとつピンとこなかった。ちゃんと使うには、前項のような基礎を理解した上で、ソースを読む必要がある。何をやってくれるかを手短にいうと 変数 -mode を宣言してバッファローカルにする 変数 -mode-map に初期設定済みキーマップを格納してくれる 変数 ○ ソースコード Sarge の emacs21.4 だったら↓にソースがある。これを読んではじめて フック廻りのことが分る。 /usr/share/emacs/21.4/lisp/emacs-lisp/easy-mmode.el ○サンプルプログラム 以下にテンプレート目的のサンプルコードを示す。併用することが多いので、ここで解説した easymenu マクロを使ったメニューのスケ

    マイナーモードの作り方 easy-mmode編 - おもてなしの空間