|
发表于 2010-11-9 09:10:56
|
显示全部楼层
原帖由 cying 于 2010-11-9 07:59 AM 发表 
谢谢大家的支持和帮助
我第一个疑问其实是为了弄明白变量赋值的问题,通过前辈的解释我的理解为这个变量t只是一个临时的变量,和变量表中的变量不同,如果要存入变量表中还需要赋值(把%1发送给变量t),这样如果一个 ...
你的理解有误:t并不是临时变量,而是触发器中参数的自定义名称。
首先,在触发器里定义(?P/d+) 其意义是给括号内的触发一个人为的参数命名,而%1,%2这样的参数名是1和2,是系统默认的。你的触发里为自定义参数名称。要想使用触发器里的参数,可以采用以下几种方式:
1、用自定义参数传递变量。在发送框内容里输入,诸如abc="%1"的方式,选脚本解析器传递变量。
2、用下方脚本函数的方式传递变量。但此函数必须采用特殊格式,xxx=function(name,line,wildcards)。在最下方的脚本函数中引用。只需写上函数名称即可。
(1)其中,参数%1就是wildcards[1],默认表示触发中的%1,依此类推。
在脚本函数的使用方式如下:
xxx=function(name,line,wildcards)
abc=wildcards[1]
end
这与在发送框内输入abc="%1"完全一致。
(2)若有自定义名称的参数,比如楼主的(?P/d+),首先就需要给触发一个名字,如ttt。在这个名为ttt的触发里参数t的传递如下:
xxx=function(name,line,wildcards)
abc=GetTriggerWildcard ("ttt", "t")
end
[ 本帖最后由 littleknife 于 2010-11-9 09:25 AM 编辑 ] |
|