找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1028|回复: 5

[] (XD::List:IsTable)判断一个表是否是表格(NxM)

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2016-7-18 12:38:12 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::List:IsTable
调用格式: (XD::List:IsTable lst)
参数说明: lst ---- 表
返回值: (rows cols) 或 nil
函数简介: 判断一个表是否是表格(NxM)
函数来源: 原创
函数作者: Lispboy
适用版本: 不限 
最后更新时间: 2016-07-18
备注: 命令: !a
(1 2 3 4 5 6 67 7 8 8 96 5 4 4 3)

命令: !c
((1 2 3 4 5 6) (67 7 8 8 96 5) (4 4 3 nil nil nil))

命令: (xd::list:istable a)
nil

命令: (XD::LIST:ISTABLE c)
(3 6)
演示图片: -

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. (defun XD::List:IsTable (lst / x y)
  2.   (if (and
  3.         (= (type lst) 'LIST)
  4.         (vl-some '(lambda (x)
  5.                     (not (atom x))
  6.                   ) lst
  7.         )
  8.         (vl-some '(lambda (x y)
  9.                     (= (length x) (length y))
  10.                   ) lst (append
  11.                           (cdr lst)
  12.                           (list (car lst))
  13.                         )
  14.         )
  15.       )
  16.     (list (length lst)(length (car lst)))
  17.   )
  18. )

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 202个

财富等级: 日进斗金

发表于 2020-5-22 10:56:00 | 显示全部楼层
这个函数if里面最后一个判断条件似乎有点问题呀,下面是我的测试程序,在测试过程中发现了问题了

(defun t1(lst)
        (apply '= (mapcar 'length lst))
);;;defun

(defun t2(lst / x y)
        (vl-some
                '(lambda(x y)
                            (= (length x) (length y))
                  );;;lambda
                lst
                (append (cdr lst) (list (car lst)))
        )
);;;defun


第二个函数是你函数里面的一部分。
测试效率函数
(defun c:tt(/ n lst1 lst2 lst)
       (progn
               (setq n (getint "\n输入重复次数:")
                    lst1 '(1 2 3)
                    lst2 '(1 2)
              )
             (repeat n
                    (setq lst (cons lst1 lst))
            )
            (setq lst (cons lst2 lst))
       )
        (repeat 5
                  (xd::quickbench '((t1 lst)(t2 lst)))
        )
         (princ)
)


将progn里面的n输入100后,本来子表数量不相等的lst,用(t2 lst)结果是相等的

命令: (t1 lst)
nil

命令: (t1 lst)
nil
命令: (t2 lst)
T


再测试下效率
命令: TT

输入重复次数:50

CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1734       1734      1.98 <fastest>
(T2 LST)                         16384      1719       3438      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1938       1938      1.84 <fastest>
(T2 LST)                         16384      1781       3562      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1907       1907      1.88 <fastest>
(T2 LST)                         16384      1797       3594      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1968       1968      1.87 <fastest>
(T2 LST)                         16384      1844       3688      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1032       1032      1.74 <fastest>
(T2 LST)                         16384      1796       1796      1.00 <slowest>
-------------------------------------------------------------------------------


命令: TT

输入重复次数:400

CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      2172       2172      1.31 <fastest>
(T2 LST)                          8192      1421       2842      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 8192 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                          8192      1312       1312      1.06 <fastest>
(T2 LST)                          8192      1391       1391      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 8192 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                          8192      1297       1297      1.08 <fastest>
(T2 LST)                          8192      1406       1406      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 8192 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                          8192      1344       1344      1.03 <fastest>
(T2 LST)                          8192      1391       1391      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 8192 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                          8192      1312       1312      1.06 <fastest>
(T2 LST)                          8192      1391       1391      1.00 <slowest>
-------------------------------------------------------------------------------




论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

发表于 2020-5-22 11:55:29 | 显示全部楼层
第二个判断条件也有问题,例如:
(setq lst '(1 (2 3)))
就判断为T
修改为:
(not
                (vl-some
                        '(lambda(x)
                                    (atom x)
                         )
                        lst
                )
        )
就可以了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

发表于 2020-5-22 12:06:41 | 显示全部楼层
做了个第二个条件的函数,效率比较下:
(defun t1(lst)
        (if (apply '= (mapcar 'atom lst))
                (not (atom (car lst)))
        );;;if
);;;defun

(defun t2(lst)
        (not
                (vl-some
                        '(lambda(x)
                                    (atom x)
                         );;;lambda
                        lst
                )
        )
);;;defun
(defun c:tt(/ n lst1 lst)
        (progn
                (setq n (getint "\n输入重复次数:")
                        lst1 '(1 2 3)
                )
                (repeat n
                        (setq lst (cons lst1 lst))
                )
                ;;;(setq lst (cons lst2 lst))
        );;;progn
        (repeat 5
                  (xd::quickbench '((t1 lst)(t2 lst)))
        )
         (princ)
)
命令: TT
输入重复次数:20

CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1656       1656      1.85 <fastest>
(T2 LST)                         16384      1532       3064      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1625       1625      1.88 <fastest>
(T2 LST)                         16384      1531       3062      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1640       1640      1.85 <fastest>
(T2 LST)                         16384      1516       3032      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1657       1657      1.85 <fastest>
(T2 LST)                         16384      1531       3062      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1641       1641      1.87 <fastest>
(T2 LST)                         16384      1531       3062      1.00 <slowest>
-------------------------------------------------------------------------------

命令:
命令: TT

输入重复次数:100

CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1078       1078      1.70 <fastest>
(T2 LST)                         16384      1829       1829      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1063       1063      1.72 <fastest>
(T2 LST)                         16384      1828       1828      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1078       1078      1.68 <fastest>
(T2 LST)                         16384      1812       1812      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1093       1093      1.66 <fastest>
(T2 LST)                         16384      1813       1813      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1078       1078      1.67 <fastest>
(T2 LST)                         16384      1797       1797      1.00 <slowest>
-------------------------------------------------------------------------------
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

发表于 2020-5-22 12:19:46 | 显示全部楼层
第三个条件修改后测试:
(defun t1(lst)
        (apply '= (mapcar 'length lst))
);;;defun

(defun t2(lst / x y)
        (not
                (vl-some
                        '(lambda(x y)
                                    (/= (length x) (length y))
                          );;;lambda
                        lst
                        (append (cdr lst) (list (car lst)))
                )
        )
);;;defun

测试有表长度不相等时,并且在表的初始位置时
(defun c:tt(/ n lst1 lst2 lst)
        (progn
                (setq n (getint "\n输入重复次数:")
                        lst1 '(1 2 3)
                        lst2 '(1 2)
                )
                (repeat n
                        (setq lst (cons lst1 lst))
                )
                (setq lst (cons lst2 lst))
        );;;progn
        (repeat 5
                  (xd::quickbench '((t1 lst)(t2 lst)))
        )
         (princ)
)

命令: TT

输入重复次数:20

CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1703       1703      1.87 <fastest>
(T2 LST)                         16384      1594       3188      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1734       1734      1.80 <fastest>
(T2 LST)                         16384      1562       3124      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1703       1703      1.84 <fastest>
(T2 LST)                         16384      1563       3126      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1688       1688      1.87 <fastest>
(T2 LST)                         16384      1578       3156      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1750       1750      2.21 <fastest>
(T2 LST)                         16384      1938       3876      1.00 <slowest>
-------------------------------------------------------------------------------

命令:
命令: TT

输入重复次数:100

CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1156       1156      1.73 <fastest>
(T2 LST)                          8192      1000       2000      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1594       1594      1.27 <fastest>
(T2 LST)                          8192      1016       2032      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1609       1609      1.24 <fastest>
(T2 LST)                          8192      1000       2000      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1625       1625      1.27 <fastest>
(T2 LST)                          8192      1031       2062      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1594       1594      1.25 <fastest>
(T2 LST)                          8192      1000       2000      1.00 <slowest>
-------------------------------------------------------------------------------


测试子表长度都相等时
(defun c:tt(/ n lst1 lst)
        (progn
                (setq n (getint "\n输入重复次数:")
                        lst1 '(1 2 3)
                )
                (repeat n
                        (setq lst (cons lst1 lst))
                )
        );;;progn
        (repeat 5
                  (xd::quickbench '((t1 lst)(t2 lst)))
        )
         (princ)
)

输入重复次数:20

CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 32768 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         32768      1782       1782      2.31 <fastest>
(T2 LST)                          8192      1031       4124      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1141       1141      1.78 <fastest>
(T2 LST)                          8192      1015       2030      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1141       1141      1.81 <fastest>
(T2 LST)                          8192      1031       2062      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1140       1140      1.75 <fastest>
(T2 LST)                          8192      1000       2000      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1156       1156      1.76 <fastest>
(T2 LST)                          8192      1016       2032      1.00 <slowest>
-------------------------------------------------------------------------------

命令:
命令: TT

输入重复次数:100

CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1141       1141      2.68 <fastest>
(T2 LST)                          8192      1531       3062      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1672       1672      1.83 <fastest>
(T2 LST)                          8192      1531       3062      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1672       1672      1.81 <fastest>
(T2 LST)                          8192      1516       3032      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1625       1625      1.85 <fastest>
(T2 LST)                          8192      1500       3000      1.00 <slowest>
-------------------------------------------------------------------------------
CPU:(1x)Intel(R) Core(TM) i7-7700 @ 3.60GHz 4Cores  / Memory:24G / OS:WIN10专业版
Benchmarking ....... done for 16384 iterations. Sorted from fastest.
Statement                    Increment  Time(ms)  Normalize  Relative
-------------------------------------------------------------------------------
(T1 LST)                         16384      1672       1672      1.83 <fastest>
(T2 LST)                          8192      1531       3062      1.00 <slowest>
-------------------------------------------------------------------------------
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

发表于 2020-5-22 12:27:17 | 显示全部楼层
综合上述效率比较,建议修改为:
[Actionscript3] 纯文本查看 复制代码
(defun XD::List:IsTable(lst)
  	(if 
		(and
        		(= (type lst) 'LIST)
        		(if (apply '= (mapcar 'atom lst))
                		(not (atom (car lst)))
        		)
        		(apply '= (mapcar 'length lst))
      		)
    		(list (length lst)(length (car lst)))
  	)
)

评分

参与人数 1D豆 +5 收起 理由
newer + 5 有始有终奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-24 08:20 , Processed in 0.222251 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表