|
;;大侠帮个忙,我编了一个程序,发现一点问题,请教于您,& u6 y g$ K9 t: H1 X. Z
疑问。一是,我想我不停地输入,希望这些输入最后都变成列表返回;第二
$ z7 p: ~# Z$ ?步是在这个列表中,我想输入一个m,然后返回第m个值以后的列表.
% T0 u5 N# x5 l- f遇到的问题:第一步:我发现while不能停下来,不停的输入输入,即便回车还' H" M3 F3 ?3 J- k/ H
是要求输入。对于第二步,一根肠子通到底的那种程序,
5 c0 M) V$ D" ~/ j我已经差不多写出来了,主要是想学习一下子程序,但是我在调用的时候,老是提
6 g0 Q% N- p3 O3 @示我no function definition CNR,非常感激不尽;
2 A. C$ R, U; _% L: s
$ f1 F& b: `3 j; C0 _) |2 U: x(defun C:5test10()
3 N" a+ O/ K) N- U) M# X' b;;
! `/ i" a. X0 q) D+ l(setq str (getstring "The first string:"))+ F, y) V7 I/ {9 I: R) W
(setq input1_list '(str))4 E4 i Y' J/ H& p6 _
(while str * R9 y. }0 H5 J- r5 I. U
(setq str (getstring "\nThe next string:"))
7 r( B( O/ m. k, Y(setq input_list (cons str input1_list))
3 z5 p+ p7 d" b0 F; c)' Q% P9 ~7 _8 A) Z: K
(princ "input_list:")(princ input_list)3 w! }; x, T9 d* c! V
(setq m (getint "\nThe start number:"))4 p, B' Z4 h; _: n" |5 Z# f
(setq output_list (cnr m input_list))8 y l0 ?8 O& y
(princ "output_list:")(princ output_list)0 `( ?; t3 j% b1 g- u/ b: g& ~
;;- W- W \1 ^ P2 I2 P" D/ ]
(defun cnr(t alist)7 l( D3 W7 B b% y8 [
(setq i 1)
' j' V! c: ?, P; H) ~(while (< i t)
) ^4 W3 s) }2 N5 ?8 `6 b2 ](setq alist (cdr alist))
. `2 `! P. E& g3 J! R/ F(setq i (+ i 1))# T/ M0 A! g( m
)
# H4 s; \# h' Q7 c( I# W" D(cdr alist)
- x7 M( D( N6 N. D. v$ F5 p)
5 M, P! h- x- x- Y8 D;;
$ \) s1 E8 N2 }6 O(prin1)
* D6 P [$ j& O8 H% s) |
|