找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3131|回复: 4

[求助] [求助][0705]如何取出参考表的对照资料?

[复制链接]
发表于 2006-7-5 22:39:00 | 显示全部楼层 |阅读模式

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

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

×
[求助][0705]如何取出参考表的对照资料?
请问如何才能取出这样的参考表资料呢?

参考表资料 如: DATA.txt 排列为:
  20 40 60 80
A 81 65 35 68
B 92 93 25 79
C 75 68 11 95

如要取出 DATA.txt 中的 A 与 40 相交位置的 65 值,
该怎样作呢?
请各位版主及高手可以解答一下~
谢谢~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-7-6 08:50:53 | 显示全部楼层
首先查出40的位置
然后用assoc A来查询,当然,[先要把表变成点对的格式]---这句话写错了,不好意思

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

使用道具 举报

发表于 2006-7-6 12:02:13 | 显示全部楼层
(vl-position 40 '(20 40 60 80)) retuns 1
(nth 1 '(81 65 35 68)) retuns 65
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-6 12:36:56 | 显示全部楼层
请教一下
这问题如何将这txt档案内容读入成为
(0 . 20 40 60 80)
(A . 81 65 35 68)
(B . 92 93 25 79)
(C  .75 68 11 95)
形式呢?
烦请各位解答一下~
谢谢~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-6 20:25:32 | 显示全部楼层
[PHP]
;无痕的函数
(defun str2lst (str /)
(read (vl-list->string (apply 'append
(mapcar '(lambda (x)
           (if (= 32 x)
            (list 34 32 34)
            (list x)
           ) ;_ 结束if
           )
  (append (list 40 34)
   (vl-string->list str)
   (list 34 41)))
)))
)
[/PHP]


(setq ffk nil)
(setq kaka nil)
(setq lst nil)
(setq ffk (open "c:\\data.txt" "r"))
(setq kaka (read-line ffk))

(while kaka
(if (= lst1 nil)
(setq lst (list(str2lst kaka)))
(progn
(setq lst1 (list(str2lst kaka)))
(setq  lst (append lst lst1))
)
)
(setq kaka (read-line ffk))
)

请教我得到的是如此的结果

[0] ("0" "20" "40" "60" "80")
[1] ("A" "81" "65" "35" "68")
[2] ("B" "92" "93" "25" "79")
[3] ("C" "75" "68" "11" "95")
如我要得到像这样的 ("A" 3 4 5) 结果
或是 (20 40 60 80))  这样的结果
该怎样编写呢?

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-29 12:22 , Processed in 0.186787 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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