(defun Q_1 (LST WORD_T)
(SETQ j 0 k 0)
(while (and (/= (cadr (nth j lst)) word_t) (< j (length lst)))
(setq j (1+ j))
)
(if (= (cadr (nth j lst)) word_t)
(last (nth j lst))
nil
)
)
;这是另一种:
(defun Q_1 (lst word_t)
(setq j 0 k nil tl (length lst))
(while (< j tl)
(if (= (cadr(nth j lst)) word_t)
(setq k j j tl)
)
)
(if k
(last(nth k lst))
k
)
)
<font face="Verdana" color="#da2549"><font color="#000000"><p><font face="Verdana" color="#da2549"><strong>ZZXXQQ</strong><font color="#000000">版主你好</font></font></p><p><font face="Verdana" color="#da2549"><font color="#000000">,麻烦你检视下面程序运行有问题.谢谢你!</font></font></p><p><font color="#800080">;这是另一种:<br/></font><font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/defun.htm" target="_black"><font color="#0000ff">defun</font></a>
<font color="#0000ff"><b>Q_1</b></font>
<font color="#ff0000">(</font>lst word_t<font color="#ff0000">)</font><br/> <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> j <font color="#008000">0</font> k nil tl <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/length.htm" target="_black"><font color="#0000ff">length</font></a> lst<font color="#ff0000">)</font><font color="#ff0000">)</font><br/> <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/while.htm" target="_black"><font color="#0000ff">while</font></a>
<font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/60.htm" target="_black"><font color="#0000ff"><</font></a> j tl<font color="#ff0000">)</font><br/> <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/if.htm" target="_black"><font color="#0000ff">if</font></a>
<font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/61.htm" target="_black"><font color="#0000ff">=</font></a>
<font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/cadr.htm" target="_black"><font color="#0000ff">cadr</font></a><font color="#ff0000">(</font>nth j lst<font color="#ff0000">)</font><font color="#ff0000">)</font> word_t<font color="#ff0000">)</font><br/> <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#0000ff">setq</font></a> k j j tl<font color="#ff0000">)</font><br/> <font color="#ff0000">)</font><br/> <font color="#ff0000">)</font><br/> <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/if.htm" target="_black"><font color="#0000ff">if</font></a> k<br/> <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/last.htm" target="_black"><font color="#0000ff">last</font></a><font color="#ff0000">(</font>nth k lst<font color="#ff0000">)</font><font color="#ff0000">)</font><br/> k<br/> <font color="#ff0000">)</font><br/><font color="#ff0000">)</font><br/><br/></p></font></font><p><font face="Verdana"></font></p> 少了一行:
;这是另一种:
(defun Q_1 (lst word_t)
(setq j 0 k nil tl (length lst))
(while (< j tl)
(if (= (cadr(nth j lst)) word_t)
(setq k j j tl)
(setq j (1+ j))
)
)
(if k
(last(nth k lst))
k
)
)
<p><font color="#000000">謝謝樓主</font></p><p><font color="#000000">少了這行(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font color="#000000">setq</font></a><font color="#000000"> j (</font><a href="http://www.mjtd.com/object/autolisp/1+.htm" target="_black"><font color="#000000">1+</font></a><font color="#000000"> j))</font></p><p><font color="#000000">所以無法離開(while...)</font></p><p><font color="#ff0000"></font><br/></p>
页:
1
[2]