无法理解在AppleScript中分配变量时发生的错误

时间:2014-03-13 09:18:16

标签: applescript

我是Apple.net甚至是这个社区的新手,所以这个问题似乎很奇怪。如果是的话,我很抱歉。 但我无法通过谷歌搜索找到答案。所以让我问一下。

当我运行代码时

tell application "Evernote"
    set theNote to item 1 of selection
    set theTitle to (title of theNote)
end tell

我收到了错误

/var/folders/fm/k76y42cs1y98bjwfyf951q1r0000gn/T/vbkvTSQ/55:47:53: execution error: Evernote got an error: Can’t make item 1 of selection into type specifier. (-1700)

但如果我跑到下面,

tell application "Evernote"
    set theNote to (selection)
    set theNote to item 1 of theNote
    set theTitle to (title of theNote)
end tell

我可以得到预期的结果。

为什么会发生此错误?我无法看到两个代码的豁免。

1 个答案:

答案 0 :(得分:3)

Applescript暗示get再次罢工!!

尝试这样做:

tell application "Evernote"
    set theNote to item 1 of (get selection)
    set theTitle to (title of theNote)
end tell

Applescript很有意义,但它隐藏了很多实现细节,这使得一些错误看起来比它们更随机。 “暗示获取命令”have been covered pretty well already的缺陷,所以我只是用引用来总结。

  

可能导致问题的一件事是命令“get”。一般来说,当你运行像“我的名字”这样的命令时,命令get是隐含的,所以你真的在运行“得到我的名字”。问题是隐含的“获取”并非总是如此。所以有时你必须明确地说“得到”。每当我遇到像你这样的问题时,我尝试的第一件事就是在命令中添加“get”...