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
在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