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

Re: [bep] learning lisp: defun



 高橋です。

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)
**-***-***-***-***-***-***-***-***-***-***-***-**