【Emacs】EmacsLisp 超基礎
RubyをEmacsで開発されている方も結構いるのではないでしょうか。
わたしもRinari超便利だよー(*´ω`*)っていう記事を読んで興味を持ったので、
久々にEmacs触っています。
で、動かすためにEmacsLispをネットからコピペして使ったりするのですが、、、
はて、、、、。EmacsLispって何(?ω?)
ってなりました。。
Lispはカッコを多用する特殊な文法ですが、
基本文法をわかったらだいぶ読めるようになったので、
これだけ覚えとけばおk!ってまとめてみます!(`・ω・´)
=======
EmacsでEmacsLispを評価するには:
(カーソルを行末に持って行って) C-x C-e
リストを作るには:
(先頭に「'」を付けたカッコを用意する) '(foo bar baz) =>(foo bar baz)
関数の記述法
(func var1 var2 var3 ...)
例えば、リストのサイズを求めるlengthを使うと、、
(length '(foo bar baz)) =>3
setq:変数設定関数
(setq 変数名 代入する値) (setq myvar '(aaa))
car:リストの先頭の値を返却する(元のリストは非破壊)
(car リスト) (car '(a b c)) =>a (car '(a b c) '(e f g)) =>(a b c)
cdr: リストの先頭の以外の残りの値を返却する(元のリストは非破壊)
(cdr リスト) (cdr '(a b c)) =>(b c)
cons: リストの結合
(cons 変数1 変数2)※引数は2つしか取れない (cons a '(b c)) =>a b c
例えばこんな処理を書くと、「(3 2 1)」が返却されます。
(setq len (length '(a b c) '(foo bar baz) '(fuwa fuwa ruby) )) (cons len '(2 1)) =>(3 2 1)
・文法エラーなどが起きると「Backtrace」バッファが表示される
→「Backtrace」バッファを消すには、「q」を押下する。
==
参考URL:emacsとRinariで快適Rails開発!
http://d.hatena.ne.jp/willnet/20090110/1231595231