马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
- ;|
- 表格式LIST 增加一列
- 参数:lst --- 表
- pos --- 指定列号
- colst-- 原子 or 同行长度的子表
- 说明:参数如果给原子,每行指定列都加入相同的元素
- 参数如果是子表,对应行指定列加入子表对应的值
- 例子:
- 命令: (setq a '(("a" "b" "c")("aa" "bb" "cc")("aaa" "bbb" "ccc")))
- (("a" "b" "c") ("aa" "bb" "cc") ("aaa" "bbb" "ccc"))
- 命令: (xd::list:addcolumn a 1 "zzz")
- (("a" "zzz" "b" "c") ("aa" "zzz" "bb" "cc") ("aaa" "zzz" "bbb" "ccc"))
- 命令: !a
- (("a" "b" "c") ("aa" "bb" "cc") ("aaa" "bbb" "ccc"))
- 命令: (xd::list:addcolumn a 1 '("zzz" "ggg" "mmm"))
- (("a" "zzz" "b" "c") ("aa" "ggg" "bb" "cc") ("aaa" "mmm" "bbb" "ccc"))
- |;
- (defun XD::List:AddColumn (lst pos colst)
- (cond
- ((atom colst)
- (mapcar
- '(lambda (x)
- (XD::List:Insert x pos colst)
- )
- lst
- )
- )
- ((and
- (= (type colst) 'LIST)
- (= (length lst) (length colst))
- )
- (mapcar
- 'cons
- colst
- lst
- )
- (setq i -1)
- (mapcar
- '(lambda (x)
- (XD::List:Insert x pos (nth (setq i (1+ i))
- colst
- )
- )
- )
- lst
- )
- )
- )
- )
|