用海大师的可选参数程序产生的BUG
【首发】定义真正意义的可选参数(附带防反编译技术)http://bbs.mjtd.com/forum.php?mod=viewthread&tid=181052&fromuid=399892
(出处: 明经CAD社区)
用海大师的程序写了四个计算程序 ++ -- **//,可以直接算数字字符串的
但是发现一个BUG ,不知道是不是我的问题
但是 ,发现这几个代码不能够写进同一句代码,单独用没问题
例如
(++ "1" "2" 3) 可以返回"6"
(** "1" "2" 3) 可以返回"6"
但是
(++ (++ "1" "2" 3)(** "1" "2" 3) ) 按理本应该返回 "12",但是结果只返回 "6"
因为前面的变成了 nil
用list 测试 (list (++ "1" "2" 3)(** "1" "2" 3) )
返回 (nil "6")
(list (++ "1" "2" 3)(** "1" "2" 3) (** "1" "2" 3) (** "1" "2" 3) (** "1" "2" 3))
返回 (nil nil nil nil "6")
本帖最后由 tryhi 于 2020-8-17 22:37 编辑
大师不敢当,确实有BUG,已经修改,原贴已更新,源码移步原贴下载
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=181052&fromuid=399892
海大师帖子我看过,半懂。 可能连续用不行,分开试试。 (list(list (++ "1" "2" 3) (list (** "1" "2" 3) ))) 请海大师出来回答
页:
[1]