cying 发表于 2010-11-2 21:56:47

其实我的目的是想做几个通用function用alias调用,类似于zmud中的几个常用命令(#wa #if #t+等等)尽量简化脚本文件,但是我不知道格式应该是什么样的
比如
用alias wa调用function wa

function wa()
        DoAfterSpecial (t1, "t2", 10)
end
t1 t2是时间和命令的变量
这样我随时可以用 (wa 变量1 变量2) 而不用每一次延时操作都要写一个function了

ddid 发表于 2010-11-2 21:57:35

原帖由 cying 于 2010-11-2 21:36 发表 http://pkuxkx.net/forum/images/common/back.gif


明白了,谢谢,如果我想设定一个alias 调用 DoAfterSpecial (8, "quxuexi", 10) 但是我想要把时间8 和执行命令 quxuexi作为变量代码应该如何写
可以达到#wa x000;xxxx的效果,就是一个带参数的alias

函数的形参和实参如何传递?

这个 …… 还是看Programming Lua吧。

ddid 发表于 2010-11-2 21:59:04

原帖由 cying 于 2010-11-2 21:56 发表 http://pkuxkx.net/forum/images/common/back.gif
其实我的目的是想做几个通用function用alias调用,类似于zmud中的几个常用命令(#wa #if #t+等等)尽量简化脚本文件,但是我不知道格式应该是什么样的
比如
用alias wa调用function wa

function wa()
      DoAfter ...
记得如果有多个wait,DoAfter()中的时间需要累加。

ddid 发表于 2010-11-2 22:01:52

原帖由 cying 于 2010-11-2 21:40 发表 http://pkuxkx.net/forum/images/common/back.gif

我看的不是很明白,我觉得脚本 和 mush中的变量是各自独立的,我是想在命令中直接调用mush中的变量,比如我做一个学习的alias
不知能不能直接在命令行中给mush中的变量赋值,达到方便操作的目的

还是形参和实参的问题。


function wa(time)
Doafter(time, "drink jiudai")
end --wa(time)以上只是个例子,不一定能达到你要的效果。

cying 发表于 2010-11-2 22:09:06

原帖由 ddid 于 2010-11-2 09:59 PM 发表 http://pkuxkx.net/forum/images/common/back.gif

记得如果有多个wait,DoAfter()中的时间需要累加。

也就是说w;w;#wa 1000;s;s;#wa 1000;e;e
如果在同一个function中需要写成w;w DoAfter 1;s;s;DoAfter 2 ;e;e?

ddid 发表于 2010-11-2 22:13:26

原帖由 cying 于 2010-11-2 22:09 发表 http://pkuxkx.net/forum/images/common/back.gif


也就是说w;w;#wa 1000;s;s;#wa 1000;e;e
如果在同一个function中需要写成w;w DoAfter 1;s;s;DoAfter 2 ;e;e?

理解正确,不过DoAfter()好像不是你这么用的 ……

[ 本帖最后由 ddid 于 2010-11-2 10:17 PM 编辑 ]

cying 发表于 2010-11-2 22:23:51

原帖由 ddid 于 2010-11-2 10:13 PM 发表 http://pkuxkx.net/forum/images/common/back.gif


理解正确,不过DoAfter()好像不是你这么用的 ……
hehe
我是领会精神
应该是类似
Send(xxxxxxxxx)
DoAfter(1,xxxxxx)
DoAfter(2,xxxxxxx)

ddid 发表于 2010-11-2 22:25:14

呵呵,不错!

cying 发表于 2010-11-2 23:19:35

原帖由 <i>ddid</i> 于 2010-11-2 10:01 PM 发表 <a href="http://pkuxkx.net/forum/redirect.php?goto=findpost&pid=198606&ptid=16890"
还是形参和实参的问题。<br />
<function wa(time)<br />
Doafter(time, "drink jiudai"<img src="images/smilies/default/wink.gif" smilieid="4" border="0" alt="" /><br />
end --wa(time)以上只是个例子,不一定能达到你要的效果。 <br />


我发现一个解决问题的途径
别名 tt * *
发送 DoAfterSpecial (%1, "%2", 10)
发送给命令解析器
输入 tt 1 hehe经测试达到预期效果

[ 本帖最后由 cying 于 2010-11-2 11:24 PM 编辑 ]

ddid 发表于 2010-11-2 23:27:08

yct23
页: 1 [2] 3
查看完整版本: mush如何在命令行中执行函数