在Sdef中为命令结果指定any
类型时,似乎不能简单地返回NSNumber
等NS类型。相反,需要返回NSAppleEventDescriptor
。
但是,NSAppleEventDescriptor
在它可以处理的值方面相当有限。似乎不支持C&#39 {s} double
类型的浮点数。
如何为any
类型返回双倍值,然后呢?
答案 0 :(得分:1)
10.11有一个直接的方法,doubleValue
属性,你可以使用方法coerceToDescriptorType
将描述符强制转换为其中一种类型
typeIEEE32BitFloatingPoint = 'sing',
typeIEEE64BitFloatingPoint = 'doub',
type128BitFloatingPoint = 'ldvl',
例如代码见AppleScriptToolKit