ZZXXQQ 发表于 2010-5-6 21:10:00

(setq sa "")<br/>(foreach x (list "aaa" "bbb" "ccc" "ddd") (setq sa (strcat sa x "/")))<br/>(setq sa (substr sa 1 (1- (strlen sa))))

icefire 发表于 2010-5-8 10:32:00

可以实现吧,不过丝路很难

xransnow 发表于 2010-5-10 13:15:00

<p></p><p>我怎么得不到“8820.0”,请高手指导下</p>

ZZXXQQ 发表于 2010-5-10 14:37:00

先(setvar "DIMZIN" 0)再转换

xransnow 发表于 2010-5-15 09:24:00

<p>看了各位的回复,收获很大,谢谢各位</p><p>继续请教</p><p>(setq startnum (getint "\n请输入起始序号:"))</p><p>在用户直接回车的时候,会提示“错误: 参数类型错误: numberp: nil”</p><p>怎么可以给startnum赋值一个默认值?而不因为错误中断程序?</p><p></p>

Andyhon 发表于 2010-5-15 09:49:00

<p>其下加<br/>(if (not startnum )<br/>&nbsp; (setq startnum DefVal)<br/>)&nbsp; </p><p>or<br/>类似 uint 的函数<br/>&nbsp;&nbsp;&nbsp; ;* UINT User interface integer function<br/>&nbsp;&nbsp;&nbsp; ;* BIT (0 for none) and KWD key word ("" for none) are same as for INITGET.<br/>&nbsp;&nbsp;&nbsp; ;* MSG is the prompt string, to which a default integer is added as &lt;DEF&gt; (nil<br/>&nbsp;&nbsp;&nbsp; ;* for none), and a : is added.<br/>&nbsp;&nbsp;&nbsp; ;*<br/>&nbsp;&nbsp;&nbsp; (defun uint (bit kwd msg def / inp)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if def&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;test for a default<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq msg (strcat "\n &gt;&gt; " msg " &lt; " (itoa def) " &gt;: ")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;string'em with default<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bit (* 2 (fix (/ bit 2)))&nbsp; ;a default and no null bit code conflict so<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;this reduces bit by 1 if odd, to allow null<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= " " (substr msg (strlen msg) 1))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;no def, if last char is space<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq msg (strcat "\n &gt;&gt; " (substr msg 1 (1- (strlen msg))) " : ")) ;then strip space<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq msg (strcat "\n &gt;&gt; " msg " : "))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;else msg OK<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ) );if,if<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (initget bit kwd)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq inp (getint msg))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;use the GETINT function<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if inp inp def)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;compare the results, return appropriate value<br/>&nbsp;&nbsp;&nbsp; );defun<br/>&nbsp;&nbsp;&nbsp; <br/>ureal ustr upoint .... 皆可比照 (from Google ...)</p>
页: 1 [2]
查看完整版本: [求助]使用lisp或者vlisp是否可行?