[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: Reiko TAKAHASHI <HFC03614@nifty.ne.jp> (高橋玲子)
- Date: Sat, 02 Jun 2001 21:25:09 +0900
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
高橋です。
Reply TAKAHASHI Naoto <ntakahas@...>'s message:
} > また例の本からの拾い読みなのですが、defunは、関数(コマンドとか?)を作
} > りたいときに使うものですよね……??
}
} あ、済みません。この部分は坂本さんへのリプライだったので、説明抜きで
} defun を使ってしまいました。
あっ、私こそ、わかってもいないのに首をつっこんでいてすみません。
以前、井上さんが作ってくださったweather-insert-hereコマンドにdefunが出て
きていたので、どういう関数(?)なのか関心がありました。
} 関数ではなくて変数として評価されているからです。
} xの周りに括弧がついていない点に注意して下さい。
あっ、関数には括弧が付くんですね。
(なんて、単純ではないかもしれませんが、慣れてきたらわかりそうな気がしま
す。)
もうひとつ、また首をつっこんでしまうので、もし万が一、今の私にでもわか
りそうだったら……、
} (defun n (n) (if (= n 1) 1 (* n (n (1- n)))))
の意味を教えてください。
一応考えてみたのは、
(defun n (n)
これから作る関数の名前はnで、その中で使う引数はn。
で、nがどういう関数かというと、
(if (= n 1) 1
もし、nが1だったら1。(???)
(* n (n (1- n)))))
それ以外だったら(?)、n と (n (1- n)) をかける。
(n (1- n)) の意味は想像もつきません。
**-***-***-***-***-***-***-***-***-***-***-***-**
Reiko TAKAHASHI (高橋玲子)
E-mail: HFC03614@...
ICQ UIN: 85924121 (Twinkle)
**-***-***-***-***-***-***-***-***-***-***-***-**