2012-03-12 343 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