在我的可编写脚本的应用程序中,其中一个属性是命名记录类型,并且该记录类型也已在sdef中声明(命名为“自定义记录”)。
我可以得到这样的记录:
get owner of anElement
--> {pool:"test", position:2}
我也可以成功地测试它:
set target to {pool:"test", position:2}
if owner of anElement = target then
-- found!
但我不能在其子句中使用它:
get allElements whose owner = target
--> {}
我也无法在测试中使用missing value
:
get allElements whose owner = missing value
--> error number -1700 from missing value to custom record
是AppleScript的预期行为,即它是否无法处理其子句中的记录?
或者我做错了什么?到目前为止,我还没有实施任何强制处理程序或特殊记录处理程序,因为没有任何东西表明我需要它们。
另外,请参阅我的相关问题:Cocoa Scripting: Returning "null" vs. "missing value"
答案 0 :(得分:2)
简短回答:这是预期的行为。
其子句仅适用于element
引用类型(具有对象说明符的类),但不适用于记录类型和自定义列表。
即使Finder的selection
属性也无法通过其子句进行过滤。