我个人觉得一般表的话,你一眼就看得出的,
但是如果你实在要验证,我这里有一个方法,其他具体我没试,但是这个方法肯定可以:
LISP里面有个函数计算表的长度,格式是:
(vl-list-length list-or-cons-object)
其中list-or-cons-object表示表或点对的表
如果参数是个真正的表,则返回包含表的长度的整数,如果是表对表,则返回NIL
举例:
(vl-list-length nil)
0
(vl-list-length '(1 2))
2
(vl-list-length '(1 2 3))
nil
其实这个,你只要拿个需要以表作为参数的函数去验证,不就知道了吗?
我这只是一个抛砖引玉,希望你能发现更好的方法
;直线、多段线长度标注 by Dnbc
(defun c:cdbz()
(setq cm (getvar "cmdecho")) (setvar "cmdecho" 0)
(setq os (getvar "osmode")) (setvar "osmode" 0)
(command "_undo" "be")
(if (setq wzgd (getreal (strcat "\n 文字高度: <" (rtos (getvar "textsize")) ">")))
(setvar "textsize" wzgd)
(setq wzgd (getvar "textsize"))
)
(if (= (setq pyjl (getreal (strcat "\n 离线距离: <02>"))) nil)
(setq pyjl 02)
)
(if (setq ssa (ssget '((0 "LINE,LWPOLYLINE,POLYLINE"))))
(progn
(if (= (setq pyjl (getreal (strcat "\n 输入离线距离: <02>"))) nil)
(setq pyjl 02)
)
(setq n (sslength ssa) i 0)
(repeat n
(setq ent (ssname ssa i)
dxf (entget ent)
nam (cdr (assoc 0 dxf))
)
(cond ((= nam "POLYLINE")
(setq pts nil)
(while (/= (cdr (assoc 0 (setq dxf (entget (setq ent (entnext ent)))))) "SEQEND")
(setq pts (cons (cdr (assoc 10 dxf)) pts))
)
(setq pts (reverse pts))
)
(t
(setq pts (mapcar 'cdr (vl-remove-if-not '(lambda(x)(member (car x) '(10 11))) dxf)))
)
)
(setq m (1- (length pts)) j 0)
(repeat m
(setq p1 (nth j pts) p2 (nth (1+ j) pts)
jl (strcat "L=" (rtos (distance p1 p2) 2 3) "m")
;jl (rtos (distance p1 p2) 2 3) ;也可以用此句
jd (angle p1 p2)
pm (polar (mapcar ' '(05 05) (mapcar '+ p1 p2)) (+ jd ( 05 pi)) pyjl)
jd (angtos jd 2 6)
)
(command "_text" "j" "bc" pm wzgd jd jl)
(setq j (1+ j))
)
(setq i (1+ i))
)
)
)
(command "_undo" "e")
(setvar "osmode" 0) (setvar "cmdecho" 0)
(princ)
)
import javaioBufferedReader;
import javaioIOException;
import javaioInputStreamReader;
public class Testzhidao {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(Systemin));
String arg = readerreadLine();
String[] num = argsplit(" ");
int a = IntegervalueOf(num[0]);
int b = IntegervalueOf(num[1]);
int c = IntegervalueOf(num[2]);
Systemoutprintln("a="+ a);
Systemoutprintln("b="+ b);
Systemoutprintln("c="+ c);
}
}
以上就是关于lisp语言中如何判断一个输入是不是表全部的内容,包括:lisp语言中如何判断一个输入是不是表、哥们,问你个关于lisp的问题,希望你能帮我,谢谢、java中通过键盘输入获取多个参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)