タグ

programmingとelispに関するaki77のブックマーク (3)

  • レキシカルスコープとダイナミックスコープ

    1. レキシカルスコープとダイナミックスコープの違い 言語によって、変数のスコープに関する仕様が異なる。スコープには、レキシカルスコープとダイナミックスコープがある。採用しているスコープにより、変数の参照の仕方が違う。 レキシカルスコープでは、プログラムとして書かれた字句を解析すれば、変数のスコープを把握できる。実行時のことは考えなくて良い。これに対して、ダイナミックスコープでは、実行時における関数の呼び出され方により、参照できる変数が異なる。 用語の説明を見る前に、具体例を見た方が理解しやすい。 Scope (computer science) - Wikipedia の Lexical scoping and dynamic scoping によると、 … if function f invokes a separately-defined function g, then under

  • Hustler's Tutorial to Emacs Lisp - やさしい Emacs‐Lisp講座 - メジャー・モードを作ろう

    優しい Emacs-Lisp 講座 メジャー・モードを作ろう Emacs-Lisp without a Hustle pcs39334@asciinet.or.jp yuuji@ae.keio.ac.jp (C) 1991-1995 by HIROSE, Yuuji メジャーモードを書こう メジャーモードってなに メジャーモードの必須条件 モード名の設定 キーマップの設定 キーの割当て ローカルマップ使用宣言 メジャーモード関数の定義 インタラクティブ関数 インタラクティブ関数をキーにバインドする 関数を実際に定義する 章末問題 1 まとめ 1 余談 1 「〜関係の関数はないかな?」を探す。 Emacs-Lisp の構文 変数 変数の宣言 変数の束縛 制御構造 if or and cond while catch, throw 算術 演算子 算術関数 章末問題 2 余談 2 関数・変数 余

  • Emacs Lisp勉強会(基礎編) ― ありえるえりあ

    Emacsをまだインストールしていない人は、インストールしてから、この先を読んでください。 可能な限り、Javaとの対比をしながら説明します。 目次 Emacs Lispとは 開発環境 Emacs Lispの雰囲気(Javaとの比較) 関数型言語 Emacs Lisp;言語の基礎 なんでもオブジェクト シンボル コンスセル(リスト) 関数 その他(連想リスト、ベクタ、ハッシュテーブル) Emacs特有の型(バッファ、マーカ、etc.) 実践 ループ使ったら負け? 変数に代入したら負け? Emacs Lispとは マーケティング要素無しの、「write once, run anywhere」な言語です。 Javaの場合、次の欠点があります。 マシンにインストールされている保証が無い 他人のマシンに勝手にインストールするのは迷惑 Emacs Lispの場合、上の問題がありません。

  • 1