作者sjgau (sjgau)
看板Cad_Cae
标题Re: [心得] AutoLISP 的 Hello, world!\n
时间Sun Nov 20 13:37:01 2005
以下,应该是 正确的
(defun f2(n / )
;
)
我把 函数名称改成 f2
执行的方法是
(load "tmp.lsp")
(f2 10)
还有,第0项 和 第1项的答案都是 1
还有,为了担心 n < 0
所以,
if (n <= 0) return 1;
令: (f2 0)
1
指令: (f2 1)
1
指令: (f2 2)
2
指令: (f2 3)
3
指令: (f2 5)
8
指令: (f2 10)
89
指令: (f2 20)
10946
指令: (f2 25)
121393
指令: (f2 30)
1346269
(defun f2 (n / )
(cond ((<= n 0) 1)
((= n 1) 1)
(t
(+ (f2 (- n 1))
(f2 (- n 2))
)
)
)
)
※ 引述《HiEArO (xsd)》之铭言:
: 我使用以下的方法 是可以执行一些lisp的程式
: 但是 只要遇到function的程式 好像就会出问题
: 像以下这个程式
: 下面应该是一个求Fibonacci数列的函数
: (defun f(n)
: (cond ((= n 0) 0)
: ((= n 1) 1)
: (t(+(f(- n 1))
: (f(- n 2))))
: )
: )
: 这个照以下方法执行
: 会跑出讯息:no function definition: N
: 为什麽呢? 可以帮我解答一下吗? 感谢
: ※ 引述《sjgau (sjgau)》之铭言:
: : (princ "hello, world!\n")
: : (princ)
: : 程式档案名称:hello.lsp
: : 内容只有以上的两行。
: : 要执行这个程式,很简单。
: : 在 AutoCAD 指令行下面,输入
: : (load "hello")
: : 即可正确执行。
: : 更多的内容,请参考我的 BLOG
: : http://myblog.pchome.com.tw/sjgau/
: : 参观次破 1,000 纪念
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.243.237.65