[野狼谷]笨鸟 08:28:14
有没有这样的函数?将:
字符串表("1" "2" "2" "3") 合并为字符串 ”1 2 2 3"
[野狼谷]笨鸟 08:30:03
哈哈,我正准备自己来个循环呢,谢谢了,还是高手厉害
[仑通]仑通 08:32:16
[x_s_s_1] 就是 机器人
我好像以前在某家设计院 见过你名字
[野狼谷]笨鸟 08:32:42
哈哈,出租吗?我租一个,太好用了
[x_s_s_1]生无可恋 08:33:34
我的名字经常有设计院用的
[仑通]仑通 08:34:54
[qqimg]oldimg/{BDC3A7EA-AC48-B5BB-7198-48097D0AC46C}.gif[/qqimg] 我的名字设计院不敢用
[qqimg]oldimg/{99940033-9576-D89B-FB66-81836DA8A58D}.gif[/qqimg]
[野狼谷]笨鸟 08:36:55
原创:截掉尾巴的函数
(reverse(car (reverse lst)))
[caoyin][caoyin] 08:37:30
[仑通]仑通 08:37:31
[qqimg]oldimg/{7FFC6495-F217-D401-C46A-AE58FE3D3448}.jpg[/qqimg]
[x_s_s_1]生无可恋 08:37:50
(vl-remove (last lst))
[野狼谷]笨鸟 08:37:53
坏了,又侵犯版权了
[qqimg]oldimg/{615393FB-C6E2-AAFE-0A90-8DE5D047DEAF}.gif[/qqimg]
[caoyin][caoyin] 08:38:34
生无可恋的方法不一定通
[仑通]仑通 08:38:34
常用函数库已经发展到230个了
[仑通]仑通 08:39:06
向一千个看齐
[qqimg]oldimg/{153A9AFD-DDF9-B3EC-DF9E-000CBEBAE8B6}.gif[/qqimg]
[qqimg]oldimg/{C1240FEF-4F09-EC49-9E9B-10A57E7F8290}.jpg[/qqimg]
[zhuquanmao]关中 08:39:12
[x_s_s_1]生无可恋 08:39:20
嗯,曹版说的对
[野狼谷]笨鸟 08:39:24
哦,那就(reverse(cdr (reverse lst)))
[x_s_s_1]生无可恋 08:39:24
试试看
[pzweng]路人 08:40:04
remove有相同的也删了
[x_s_s_1]生无可恋 08:40:21
对于重复的就不行了
[野狼谷]笨鸟 08:40:32
错误: 参数太少
[x_s_s_1]生无可恋 08:40:43
reverse很好
[野狼谷]笨鸟 08:41:07
这样的相当简单的可以直接整,不用外部函数
[zhuquanmao]关中 08:43:03
[x_s_s_1]生无可恋 08:43:54
加lambda
再截掉第一个字符串就行了
[野狼谷]笨鸟 08:44:20
看来带壳的函数不好用啊,不知道内核
[野狼谷]笨鸟 08:44:50
[x_s_s_1] 给来一个样子吧,nambda用的不是很顺手
[野狼谷]笨鸟 08:46:39
慢慢消化
[pzweng]路人 08:47:14
不行
这种简单的东西多试试就行了
[x_s_s_1]生无可恋 08:47:24
不对
[pzweng]路人 08:47:26
没必要
[x_s_s_1]生无可恋 08:47:31
要加mapcar
[cie0588][cie0588] 08:47:44
[qqimg]oldimg/{3B4BD167-3418-2CC6-CA85-D9B65E89660B}.jpg[/qqimg]
[野狼谷]笨鸟 08:48:46
看来(strcat " " x)) 与(strcat x " ") 空格谁在前都一样
[cie0588][cie0588] 08:49:08
最后要么去掉前面一个空格,要么去掉后面一个空格
[野狼谷]笨鸟 08:51:42
substr 不是很方便,我这样去尾不就行了
又一经典程序诞生了
[x_s_s_1]生无可恋 08:52:13
[野狼谷]笨鸟 08:52:20
[qqimg]oldimg/{A2CA8C10-8ACA-4ABD-FEF6-F12D1921ED71}.gif[/qqimg]
[caoyin][caoyin] 08:52:29
我的效率高
[x_s_s_1]生无可恋 08:52:29
多去论坛看看
[caoyin][caoyin] 08:52:33
[cie0588][cie0588] 08:52:40
方法多的很
[pzweng]路人 08:53:29
差不多
[zhuquanmao]关中 08:53:49
c版的挺好用
[pzweng]路人 08:54:11
C版的有限制
[x_s_s_1]生无可恋 08:54:51
如果表很大的话应该是曹版的快
[caoyin][caoyin] 08:55:08
“1,2,0“转换为(1 2 0)
[caoyin][caoyin] 08:57:57
就是把字符串格式的点转换为表格式的点
[野狼谷]笨鸟 08:58:15
还是得用nambda吧?
[pzweng]路人 08:58:23
remove-if呗
[caoyin][caoyin] 08:59:31
提供一个超简单的方法
(defun TEST ( X)
(or C:CAL (arxload "geomcal"))
(C:CAL (strcat "[" X "]"))
)
[caoyin][caoyin] 09:00:32
(TEST "1.5,2.2,10.0")
->
(1.5 2.2 10.0)
[野狼谷]笨鸟 09:00:43
先说,有没有这个:
[caoyin] 9:00:25
;;我的方法仅限本例
[x_s_s_1]生无可恋 09:00:47
[pzweng]路人 09:00:59
好象比较卡
[caoyin][caoyin] 09:01:15
第一次运行卡
第二次就快了,第一次因为加载arx
[zhuquanmao]关中 09:02:16
geomcal是什么东东
[cie0588][cie0588] 09:02:20
这个arx 是CAD自带的?
[pzweng]路人 09:02:25
这个方法看不太懂
[x_s_s_1]生无可恋 09:02:49
(setq str "1,2,0")(read(strcat "("(vl-string-translate "," " "str)")"))
[zhuquanmao]关中 09:04:03
[野狼谷]笨鸟 09:04:41
[pzweng]路人 09:05:26
生无可恋的这个不错
比C版的还要好
[野狼谷]笨鸟 09:05:52
函数命名:字符串转表
[x_s_s_1]生无可恋 09:14:19
坛子里有字符串转表好像是狂刀老大的
[linshiyin2]大地 09:14:56
前两天也遇到了,字符串转表
我是用笨办法,一个一个读取的
[lisp-study]jun 09:17:37
汉字不行
[linshiyin2]大地 09:18:34
还是read神奇,好多东西都可以用read
[vormittag]桔子 09:20:36
有个东西绝对不能用read
[linshiyin2]大地 09:20:36
转成数字,去掉特殊符号,用read很好,现在看,转表也很棒啊
为啥?
(setq str "1,2,0")(read(strcat "("(vl-string-translate "," " "str)")"))
(1 2 0)
[vormittag]桔子 09:21:56
有些程序输出的数据省略小数点前的0,例如.5 .27,这种字符串用read就出错。
(read ".5") 试试看。
[阿然][阿然] 09:22:26
;;字条串列表=>字符串 By Lee Mac
;;(BAtte:lst->str (list "A" "B") ",")返回"A,B"
(defun BAtte:lst->str (lst del)
(if (cdr lst)
(strcat (car lst) del (BAtte:lst->str (cdr lst) del))
(car lst)
)
)
;;字符串=>字条串列表 By Lee Mac
;;(BAtte:str->lst "A,B" ",")返回("A" "B")
(defun BAtte:str->lst (str del / pos)
(if (setq pos (vl-string-search del str))
(cons (substr str 1 pos)
(BAtte:str->lst (substr str (+ pos 1 (strlen del))) del)
)
(list str)
)
)
[pzweng]路人 09:23:26
lee mac的东西不错
[pzweng]路人 09:24:14
命令: (read ".5")
; 错误: 输入中的点位置不正确
[x_s_s_1]生无可恋 09:25:38
这种根据需要先处理一下
[linshiyin2]大地 09:26:04
有个小问题,如何判断一个字符串中包含大写和小写的字符,比如"a,b,c,A,B,C"中包含"a""A"
[ ](car (entsel)) 09:26:01
在lisp函数中写入(command "block"),则是命令行的形式定义块,但是我需要的却是图形界面的方式定义块,请问如何做到呢?[qqimg]oldimg/{69BEEB30-A4A4-94A3-BA44-811DE78BE553}.jpg[/qqimg]
[x_s_s_1]生无可恋 09:26:30
用ascii
[linshiyin2]大地 09:26:33
"a,b,c,A,B,C"中是否包含"a""A"
[阿然][阿然] 09:26:35
-block
[linshiyin2]大地 09:27:01
ascii中a,A不同的ascii
[ ](car (entsel)) 09:27:31
-block还是命令行呀
[x_s_s_1]生无可恋 09:27:45
就是了,再判断就出来了re:大地
[kwok][kwok]巭隼 09:30:26
2014冒似有些不支持-block
有些命令前面加-
[ ](car (entsel)) 09:31:58
但是(command "-block")不行呀
[kwok][kwok]巭隼 09:32:34
_block
[linshiyin2]大地 09:33:14
(if (not (vl-string-search "a" sgstr))
[linshiyin2]大地 09:33:59
如何判断,字符串中,含有a或者A
[阿然][阿然] 09:35:42
(wcmatch "a,b,c,A,B,C" "*a*,*A*")
[linshiyin2]大地 09:37:41
pattern
模式字符串,包含与 string 进行匹配的模式。pattern 可以包含表通配符中所列的通配符。在多个模式条件之间用逗号 (,) 分隔。函数仅比较 string 和 pattern 的前 500 个字符(约数),后面的字符将被省略。
棒,要的就是这个多条件
[linshiyin2]大地 09:40:00
延伸一下,这是对字符串,如果是表元素呢,member只能一个
[pzweng]路人 09:44:21
一个一个提出来嘛
[linshiyin2]大地 09:45:30
(a b c A)如何判断其中包含
a,或者A
[linshiyin2]大地 09:47:04
目前想到的办法是,用一次subst,在用menber
menmber
[linshiyin2]大地 09:48:14
member |