菜卷鱼 发表于 2015-11-10 08:48:41

多个计算同时进行问题

(setq syblist(list = = = > < )
Oldstring'(2 3 4 5 6)
NEWstring '(2 3 43 4))

(mapcar '(lambda(a b c) (a b c)) syblistOldstring NEWstring )

可以计算出 ( T T T T nil)
但是如果 (setq syblist(list = = = or < )) 就无法计算了,
为什么 syblist 只能全是符号?

我要比对两个表,只要求他三个数据相同

ivde 发表于 2015-11-10 09:14:11

(setq syblist        (list '= '= '= 'or '<)
      Oldstring        '(2 3 4 5 6)
      NEWstring        '(2 3 4 3 4)
)
(mapcar        '(lambda (a b c) (apply a (list b c)))
        syblist
        Oldstring
        NEWstring
)

llsheng_73 发表于 2015-11-10 17:50:06

本帖最后由 llsheng_73 于 2015-11-10 18:08 编辑

(mapcar'apply'(= = = or <)(mapcar'list'(2 3 4 5 6)'(2 3 4 3 4)))
(mapcar'eval(mapcar'list'(= = = or <)'(2 3 4 5 6)'(2 3 4 3 4)))
(vl-every'equal'(t t t)(mapcar'equal'(2 3 4 5 6)'(2 3 4 3 4)));;前三个是否相同
(>=(length(vl-remove'nil(mapcar'equal'(2 3 4 5 6)'(2 3 4 3 4))))3);;是否有三个及三个以上相同

oistre 发表于 2018-8-23 14:32:51

大神牛牛牛牛牛!!
页: [1]
查看完整版本: 多个计算同时进行问题