再请教一个定位的问题
情况如下:list=东大街|山路|西大街|北门|山路|中心广场;
#sh %ismember(东大街,@list) 返回结果1;
#sh %ismember(山路,@list) 返回结果2;
有什么函数或方法可以解决@list里第二个山路的定位吗?
请指教。
北大侠客行MUD,中国最好的MUD 刚发的新贴,为什么没在论坛首页上显示,为引起注意,自己无耻的顶一下。hz6 没明白 你要干啥 或许我没有阐述明白问题,这样说吧:
list=东大街|山路|西大街|北门|山路|中心广场;
#forall @list {#sh %ismember(%i,@list)};
返回结果如下:
1
2
3
4
2
6
这显然存在问题,@list中排第五位的“山路”显示位置为“2”,显然两个山路混淆了,现在求正确的方法能区别显示两个山路在@list中的位置。 你这点信息怎么定位法? %ismember第一个山路后把第一个山路删除,然后继续找找到第二个然后位置+1,或者第一个山路改名然后继续找,或者先比较里面所有的项有没有一样名字的有的话改名继续找后面的。如果是要单纯这样找的话。我的方法可能比较蠢。抛砖引玉。 回复 6# labaz
我只是想实现@list里面两个山路的不同定位,不是在游戏里的定位。。。 %ismember第一个山路后把第一个山路删除,然后继续找找到第二个然后位置+1,或者第一个山路改名然后继续找, ...
lcx 发表于 2012-2-16 10:50 PM http://pkuxkx.net/forum/images/common/back.gif
您这个思路要实现难度不小。。。 #var $list {"东大街|山路|西大街|北门|山路|中心广场"}
#var $n 1
#forall $list {
#if %i="山路" {#sh $n}
#add $n 1
}
页:
[1]
2