Yojimbo的Applescript字典中的注释项定义为:
note item n [inh. database item] : A note item.
elements
contained by application.
properties
encrypted (boolean, r/o) : Is the note is encrypted?
contents (text) : The contents of the note. syn content
If this note is encrypted, the contents property is only readable
if permitted by the current security policies.
responds to
append, prepend.
在尝试导出我的数据时,我一直在寻找AppleScript,学习语言等,目前有这个:
tell application "Yojimbo"
repeat with EachNote in (note items in library)
display dialog (content of EachNote) as string
end repeat
end tell
让我感到困惑的是,尽管该类定义了属性“contents”,但我必须使用“content”来检索内容。使用“内容”会导致此错误:
Can’t make «class YNot» id "A0C9E19E-3106-44F9-97A6-A1A74AD77948"
of application "Yojimbo" into type string.
我假设“syn内容”意味着它是一个同义词,因此我应该能够互换地使用“内容”和“内容”。但显然这个同义词有效,但原来没有......?
另外,更简单的说,为什么必须将内容强制转换为字符串?如果我查看对象上的属性(通过:(properties of EachNote) as string
),“contents”是一个双引号字符串,但我意识到这不一定是“证明”它是一个字符串。
我仍然使用AppleScript,所以如果我犯了一个错误的错误,请随意拍打。
答案 0 :(得分:0)
对于发现类似混淆的其他人,我在此处找到了帮助:http://groups.google.com/group/yojimbo-talk/browse_thread/thread/d04f42db335c77e7
因此所有道具都归于吉姆,因为它太棒了!
基础知识:
contents
与包含对象的变量的contents
不同。contents
返回对象,而不是对象的内容,与其他所有属性不同。其他属性按预期返回变量中对象的属性。contents of contents of variable
。var == var
和var == contents of var
,var != contents of (contents of var)
,但在这种特定情况下,Applescript 确实违反了“内容”的身份原则。但是,它并没有链接这种效果,所以你不需要使用contents of
三层深层(它的工作方式与两层相同)contents of contents of var
也适用于对象,因此使用它总是安全的。content
作为contents
的同义词,这可以避免这个问题。如果需要,使用content of var
,它将像其他属性一样工作,始终返回对象的content
而不是对象。