afu 发表于 2012-2-16 22:02:29

再请教一个定位的问题

情况如下:
list=东大街|山路|西大街|北门|山路|中心广场;
#sh %ismember(东大街,@list) 返回结果1;
#sh %ismember(山路,@list) 返回结果2;
有什么函数或方法可以解决@list里第二个山路的定位吗?
请指教。

北大侠客行MUD,中国最好的MUD

afu 发表于 2012-2-16 22:13:08

刚发的新贴,为什么没在论坛首页上显示,为引起注意,自己无耻的顶一下。hz6

lcx 发表于 2012-2-16 22:25:03

没明白

lcx 发表于 2012-2-16 22:25:16

你要干啥

afu 发表于 2012-2-16 22:32:32

或许我没有阐述明白问题,这样说吧:
list=东大街|山路|西大街|北门|山路|中心广场;
#forall @list {#sh %ismember(%i,@list)};
返回结果如下:
1
2
3
4
2
6
这显然存在问题,@list中排第五位的“山路”显示位置为“2”,显然两个山路混淆了,现在求正确的方法能区别显示两个山路在@list中的位置。

labaz 发表于 2012-2-16 22:48:13

你这点信息怎么定位法?

lcx 发表于 2012-2-16 22:50:48

%ismember第一个山路后把第一个山路删除,然后继续找找到第二个然后位置+1,或者第一个山路改名然后继续找,或者先比较里面所有的项有没有一样名字的有的话改名继续找后面的。如果是要单纯这样找的话。我的方法可能比较蠢。抛砖引玉。

afu 发表于 2012-2-16 23:01:16

回复 6# labaz


我只是想实现@list里面两个山路的不同定位,不是在游戏里的定位。。。

afu 发表于 2012-2-16 23:17:46

%ismember第一个山路后把第一个山路删除,然后继续找找到第二个然后位置+1,或者第一个山路改名然后继续找, ...
lcx 发表于 2012-2-16 10:50 PM http://pkuxkx.net/forum/images/common/back.gif


您这个思路要实现难度不小。。。

supertu 发表于 2012-2-17 01:06:57

#var $list {"东大街|山路|西大街|北门|山路|中心广场"}

#var $n 1


#forall $list {

#if %i="山路" {#sh $n}
#add $n 1

}
页: [1] 2
查看完整版本: 再请教一个定位的问题