Cocoa 脚本:Return "any" 类型的浮点(双精度)值

Cocoa Scripting: Return a floating point (double) value for "any" type

在Sdef中为命令结果指定any类型时,似乎不能简单地return NS类型,例如NSNumber。相反,需要 return 一个 NSAppleEventDescriptor.

但是,NSAppleEventDescriptor 可以处理的值相当有限。似乎不支持浮点数,例如 C 的 double 类型。

我如何 return 将 any 类型的值加倍?

10.11 有一个直接的方法,doubleValue 属性,对于 10.11 之前的系统版本,您可以使用方法 coerceToDescriptorType 将描述符强制为这些类型之一

typeIEEE32BitFloatingPoint = 'sing',
typeIEEE64BitFloatingPoint = 'doub',
type128BitFloatingPoint = 'ldvl',

示例代码见AppleScriptToolKit