求教函数问题
求教一个问题:举例:a=8|8|2|3|4|7|0|5|3|1|0|11|25
用哪个函数可以返回“0”在@a中出现的次数?
%pos不行,难道要自编?
北大侠客行MUD,中国最好的MUD 14竟然是技术裆。。。湿敬湿敬 你才发现说,老衲精研挖泥技术很久了,但是如今又荒废了。 你才发现说,老衲精研挖泥技术很久了,但是如今又荒废了。 貌似没有,自己编吧 本帖最后由 afu 于 2012-10-17 05:04 PM 编辑
貌似没有,自己编吧
alucar 发表于 2012-10-17 01:04 PM http://www.pkuxkx.com/forum/images/common/back.gif
请教大侠,我用编机器人的思路写了如下:
#if %pos(%1,@a)=0 {#sh 1个也没有} {t=%pos(%1,@a);hb_rooms=%delitem(%1,@a);#if %pos(%1,@a) {%pos(%1,@a)=tt;#sh 存着多于1个} {#sh 只存着1个}}
目的是判断变量a中存着%1的数量,但放在alias和var里都不工作,求解,谢谢。 本帖最后由 afu 于 2012-10-17 05:03 PM 编辑
貌似没有,自己编吧
alucar 发表于 2012-10-17 01:04 PM http://www.pkuxkx.com/forum/images/common/back.gif
请教大侠,我用编机器人的思路写了如下:
#if %pos(%1,@a)=0 {#sh 1个也没有} {t=%pos(%1,@a);a=%delitem(%1,@a);#if %pos(%1,@a) {%pos(%1,@a)=tt;#sh 存着多于1个} {#sh 只存着1个}}
目的是判断变量a中存着%1的数量,但放在alias和var里都不工作,求解,谢谢。 是zmud721么?
先用%ismember函数代替%pos试试
462下list函数功能偏少,实现起来更麻烦
另外,%pos(%1,@hb_rooms)=tt 这句有误吧
另一种思路(适用zmud721):
1、令i=%numitems(@a)取得list变量中的元素数量
2、用#delitem a 0删除list中所有的元素“0”
3、令j=%numitems(@a)取得删除0后的元素数量
4、i与j的差就是0的个数 受教了,谢谢!
经测试用这种方法可以实现目标,但还有个小小的问题,如能解答则十分感谢:
如果忽略语法错误,我那个法子怎么实现? 受教了,谢谢!
经测试用这种方法可以实现目标,但还有个小小的问题,如能解答则十分感谢:
如果忽略语法错误,我那个法子怎么实现?
页:
[1]
2