在ge看来,最简单的事情
我有一个列表,我试图在列表中循环,更改列表中的每个字符串,并将新字符串添加到新列表中。我无法将结果排到列表的底部或顶部。似乎无论我尝试什么,它都会创建一个2项列表,第一项是最后一个编辑的字符串,最后一项是之前更改的每个其他字符串的字符串。我如何让它在字符串上放一个新行?我尝试了附加,多种不同的cons和我能找到的一切。我知道这真的很简单,但出于某种原因,我似乎对简单的事情挂断了。 我不确定您到底想做什么(一段示例代码会有所帮助),但我只想使用“cons”将新字符串放入列表中:(setq strlst (cons *newstring* strlst))
谢谢李的帮助。
我一直在尝试这个和各种各样的缺点,但它仍然没有创建我想要的格式列表。
这是一个样本
这有点奏效,但我的列表是这样的。
正如我所说,我知道我遗漏了一些非常简单的东西,但这让我抓狂:? 我无法真正测试它,因为它使用了那些“dos”函数。。。但是试一试:
(setq user (dos_username))
(cond ((= user "BLockhart")
(setq userp "Ben"))
((= user "CBearden")
(setq userp "Chris"))
((= user "LBrown")
(setq userp "Lavon"))
((= user "RChambers")
(setq userp "Ronnie"))
((= user "JMitchell")
(setq userp "Justin"))
((= user "JPrice")
(setq userp "Joe"))
((= user "LCooper")
(setq userp "Lonny"))
(setq userp (getstring "\n Please enter your first name: "))
);cond end
(setq maindir (dos_getdir "Select directory you wish to print:" (strcat "W:\\"userp"\\New Projects")))
(setq sublist (dos_subdir maindir) subnum (length sublist) cnt 0)
(while (< cnt subnum)
(setq fldr (nth cnt sublist))
(setq dwglist (cons (strcat maindir fldr) dwglist) cnt (+ cnt 1))
)
)
另一种变体,未经测试。
(setq user (dos_username))
(setq userp (cadr (assoc user
'(("BLockhart" "Ben")
("CBearden""Chris")
("LBrown" "Lavon")
("RChambers" "Ronnie")
("JMitchell" "Justin")
("JPrice" "Joe")
("LCooper" "Lonny")
)
)
)
)
(if (null userp)
(setq userp (getstring "\n Please enter your first name: "))
)
(if
(and
(/= userp "")
(setq maindir (dos_getdir "Select directory you wish to print:"
(strcat "W:\\" userp "\\New Projects")))
(setq sublist (dos_subdir maindir))
(setq subnum (length sublist))
(setq cnt -1)
)
(while (< (setq cnt (+ cnt 1)) subnum)
(setq fldr (nth cnt sublist))
(setq dwglist (cons (strcat maindir fldr) dwglist))
)
) 啊,一辆漂亮的出租车,很好地使用了关联列表——我应该多看一点这辆车。 谢谢你们的帮助,
这就是我最后要做的。
其他一切都让我的清单看起来很有趣。我害怕从中获取信息。
如果你好奇的话,我正在开发一个Batchplot lisp,它在目录中搜索符合特定条件的文件,用这些信息编写一个脚本,然后打印所有文件。
因此,基本上,用户绘制作业所要做的就是选择一个包含所有零件文件夹的目录,然后遍历这些文件夹并拉出相关文件(忽略用于外部参照和参考图形的文件),然后根据边框大小进行打印。让你知道它是如何发生的。。。。
页:
[1]