2012-03-12 268 views
1

鉴于:在它的脚本具有多种功能(见下文)
通缉:从命令行,例如,通过名字调用一个函数osascript lib.scpt fn1
问题:执行上面的命令给出“lib.scpt:执行错误:«脚本»不明白的argv消息(-1708)。”呼叫功能

我怎样才能通过名字调用一个函数?


on run argv 
    argv() // <-- here's the problem 
end run 

on fn0() 
    return "hello from fn0" 
end fn0 

on fn1() 
    return "hello from fn1" 
end fn1 
+0

您包括调用'argv'但实际的方法不存在,因此为什么你正在得到那个错误。 – fireshadow52 2012-03-12 13:14:25

回答

0

我想我已经找到你要找的内容on MacScripter

on run argv 
    set arg to (item 1 of argv) 
    set scpt to "on run inArgs\n(item 1 of inArgs)'s " & arg & "()\n\tend" 

    run script scpt with parameters {me} 

end run 

on fn0() 
    return "hello from fn0" 
end fn0 

on fn1() 
    return "hello from fn1" 
end fn1 
+0

还有一个非常有用的评论,在同一个论坛上:http://is.gd/QTk6SW – fanaugen 2012-03-12 14:22:36

+0

这是有效的。谢谢。虽然我不太了解第三行...... – ClosedID 2012-03-12 16:07:24