请教关于%additem的用法
在ZMUD中输入%additem(@x,y)就会执行这个命令,如何让这个命令只添加到list表里而不立即执行呢?我现在用#show %additem(@x,y)可以实现,但我不想让他显示到屏幕上,有什么办法可以解决呢?
北大侠客行MUD,中国最好的MUD zmud中%开头的是函数,%additem返回一个list变量,但不能直接直接改变一个既有list变量的值
改变已有list变量的值要用#additem,但#additem与%additem的功能不完全相同,具体可查help文件
利用%additem函数实现添加list变量值可以用如下代码:
若有#var list {a|b|c|d}
则#var list %additem(e,@list)后
#show @list 显示a|b|c|d|e 明白了thanks a lot~~~~
还有个问题
#var a {1|2}
#var b {3|4}
#var list {a|b}
我想通过遍历list表来遍历a与b的值
#var num %numitems(@list)
#while @num<>0 {#if (%ismember("4",@{%item(@list,@num)})=0)
{#if @num=1 {#say %ansi(high,red)"未发现相关字符串";#exit}};#add num -1 }
代码测试通过
但有点不解,@{%item(@list,@num)}这个值在%ismember的右参数项,应该不能引用@
为什么用%item(@list,@num)测试不通过呢? 看错了 是应该要加@引用 SORRY~~~~
感谢alucar耐心指教!!!
页:
[1]