在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 14115|回复: 3

[求助] 在tcl脚本中使用数组时,如何判断数组元素是否存在?

[复制链接]
发表于 2011-11-22 17:19:28 | 显示全部楼层 |阅读模式

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

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

x
假设有这样一个文件,想用数组处理:
a 1
b 2
c 3
a 4
b 1
c 1
想要的结果为
a 1
b 1
c 1
就是不能有重复的元素,如果发现重复那就取较小的值
我的想法是:
首先要判断a是否存在,不存在我就给它赋值,存在的话,我就用其新值和旧值比较,取较小值
但是,前提是要会判断a是否存在?
请问高手如何判断?
发表于 2011-11-22 23:18:19 | 显示全部楼层
本帖最后由 icfbicfb 于 2011-11-23 22:49 编辑

先用regex 把a,b,c即第一列元素抓出来,然后 筛选啊,
比如push进一个array,或者进hash表,hash表比较简单

然后判断的时候是info exists $hash(a) ,  (b), (c) 即可,

如果是array, 这用lsearch  ,  if {  [ lsearch $data  a ] == -1 } { }

-1是找不到的意思 , 否则应该是该元素在这个list里面的index number ,序号
 楼主| 发表于 2011-11-23 17:24:06 | 显示全部楼层
楼主真乃高人也
发表于 2012-3-17 13:01:42 | 显示全部楼层
好像利用linux的排序命令,和删除重复行命令也可以完成
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 20:30 , Processed in 0.025452 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表