我如何修复此错误,错误"未定义变量bufferdName。"数字-2753来自" bufferdName"?

时间:2017-03-19 00:03:05

标签: macos lua terminal applescript

我需要帮助我的AppleScript程序

set UnixPath to POSIX path of ((path to me as text) & "::")
set term to get id of application "Terminal"
on notify(t)
    display notification t
end notify
notify("starting " & term)
to replaceText(someText, oldItem, newItem)
    (*
     replace all occurances of oldItem with newItem
          parameters -     someText [text]: the text containing the                             item(s) to change
                oldItem [text, list of text]: the item to be replaced
                newItem [text]: the item to replace with
      returns [text]:     the text with the item(s) replaced
 *)
set {tempTID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, oldItem}
try
    set {itemList, AppleScript's text item delimiters} to {text items of someText, newItem}
    set {someText, AppleScript's text item delimiters} to {itemList as text, tempTID}
on error errorMessage number errorNumber -- oops
    set AppleScript's text item delimiters to tempTID
    error errorMessage number errorNumber -- pass it on
end try
return someText
end replaceText
on getMyName()
set myPath to path to me as text
if myPath ends with ":" then
    set n to -2
else
    set n to -1
end if
set AppleScript's text item delimiters to ":"
set myName to text item n of myPath
if (myName contains ".") then
    set AppleScript's text item delimiters to "."
    set myName to text 1 thru text item -2 of myName
end if
set AppleScript's text item delimiters to ""
return myName
end getMyName
set nameToFix to getMyName()
set bufferedName to replaceText(nameToFix, " ", "\\ ")
set lua to UnixPath & bufferdName & ".app/Contents/Resources/" & "lua"
set programSet to UnixPath & bufferdName & ".app/Contents/Resources/Scripts/lua_program.lua"
set mainComand to "program_app_temp/lua_program.lua"
set do to "dofile(" & quoted form of mainComand & ")"
tell application "Terminal"
activate
tell application "System Events"
    keystroke "mkdir ~/ai_app_temp"
    keystroke return
    keystroke "cp " & ai & " ~/ai_app_temp/"
    keystroke return
    keystroke lua
    keystroke return
    keystroke do
    delay 1
    keystroke return
end tell
end tell

当我运行我的程序时,它遇到错误并说 错误"未定义变量bufferdName。"数字-2753来自" bufferdName" 。我该如何解决这个问题?我是applecript的新手

1 个答案:

答案 0 :(得分:1)

这看起来像是一个简单的拼写错误。仔细查看这些代码行中的拼写

set bufferedName to replaceText(nameToFix, " ", "\\ ")
set lua to UnixPath & bufferdName & ".app/Contents/Resources/" & "lua"
set programSet to UnixPath & bufferdName & ".app/Contents/Resources/Scripts/lua_program.lua"

bufferedName是您设置的变量,但您使用的是bufferdName< - 拼写不同