[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacspeak-wl.el and (progn)
- To: bep@argv.org
- Subject: Re: emacspeak-wl.el and (progn)
- From: TAKAHASHI Naoto <ntakahas@m17n.org>
- Date: Thu, 19 Apr 2001 17:23:05 +0900 (JST)
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
- User-Agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.0.97 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI)
>>>>> Kazunori MINATANI <99112004@...> writes:
> なるほど。lispでは(の後は必ず関数がくると考えていたのですが、
開き括弧の次の文字列というよりも、開き括弧の次の要素、
と言った方がいいかもしれません。
開き括弧、スペース、func1、と続いた場合、
さすがにスペースが関数の一部だとは解釈されませんから。
> (自信も関数と認識されうるのですね。
はい。括弧とかスペースなどの変な文字を関数名の中に入れることも、
やろうと思えばできます。でも普通は絶対やりませんね。
Emacs や Meadow では、漢字やひらがなを関数名や変数名にすることもできます。
こちらは時々やっている人がいますが、
デバッグが面倒に面倒になるのでやめた方が無難です。
> #(の次が関数という言語設計なので、演算の順序が特別なものになっていると考えて
> #いるのですが。(+記号なども関数ですよね)
はい、プラス記号も関数です。
開き括弧がふたつ続いても2番目の括弧が関数名の一部と見なされない例外が
ひとつだけあります。ラムダ式 (lambda expression) というものです。
まあ当分の間は気にしないで下さい。
気になる人は *scratch* バッファの中で
((lambda (x y) (- x y)) 5 2)C-j
と打ってみて下さい。
C-j はコントロールJです。5 と 2 を色々変えてみて下さい。
以上で本日の Lisp 講座を終了します。チャンチャン。
--
TAKAHASHI Naoto
ntakahas@...
http://www.m17n.org/ntakahas/