[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emacspeak-wl.el and (progn)



>>>>> 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/