[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bep] learning lisp: defun
- To: bep@argv.org
- Subject: Re: [bep] learning lisp: defun
- From: TAKAHASHI Naoto <ntakahas@m17n.org>
- Date: Fri, 1 Jun 2001 15:41:46 +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.104 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)
済みません、ちゃんと読んでませんでした。
坂本さん、指摘して下さってありがとうございます。
>> > (defun (x) (* x 2))
>> > と書いた場合、
>> > (x)が「引数リスト」、
>> > (* x 2)が「定義本体」
>> > と考えていいですか?
>>
>> そのとおりです。
全然そのとおりじゃありませんね。上の defun は文法違反です。関数名があ
りません。正しくは (defun my-function (x) (* x 2)) ですね。これなら
my-function が関数名
(x) が引数リスト
(* x 2) が定義本体
です。もちろん my-function の部分はシンボルなら何でもかまいません。な
んなら (defun x (x) (* x 2)) なんてこともできますよ。
調子にのってもっとややこしい例を。
(defun n (n) (if (= n 1) 1 (* n (n (1- n)))))
引数に正の整数(小さめの方がいい)を与えて下さい。
--
TAKAHASHI Naoto
ntakahas@...
http://www.m17n.org/ntakahas/