MSPL Types and Type Conversion
Microsoft Office Live Communications Server 2005 with SP1 |
MSPL Types and Type Conversion
All variables in MSPL are implicitly declared; you cannot explicitly declare a variable as any of the types listed below. These assignments must be of the form:
variableName = value;
Floating-point and integer values must be specified using the en-US cultural format.
MSPL Data Types
The following data types are supported by MSPL:
- string: a Unicode string value.
- integer: a 32-bit signed integer value.
- float: an IEEE single-precision floating point value.
- bool: a value that evaluates to
true
orfalse
. - [ ]: a flat file.
- collection: a grouping of one or more of the previous types.
Type Conversion Rules
If a variable has been implicitly declared as one type through assignment, and a value of a different type is later assigned to it, the type will be coerced by the type conversion rules below.
If the source type is string:
- Result type is integer: The string will be converted to the corresponding integer value. An error occurs if the source string cannot be entirely consumed.
- Result type is float: The string will be converted to a floating-point value. An error occurs if the source string cannot be entirely consumed.
- Result type is bool:
true
if the string has a nonzero length;false
if it is zero characters in length. - Result type is collection: A collection that contains a single string is created.
If the source type is integer:
- Result type is string: A string representation of the integer value is created.
- Result type is float: The integer will be converted to a floating-point value.
- Result type is bool:
true
if the integer is nonzero;false
if it is zero. - Result type is collection: A collection that contains a single integer value is created.
If the source type is float:
- Result type is string: A string representation of the float value is created.
- Result type is integer: An integer representation of the float value is created. All digits after the decimal point are truncated.
- Result type is bool:
true
if the float is nonzero;false
if it is zero. - Result type is collection: A collection that contains a single float value is created.
If the source type is bool:
- Result type is string: If the value is
true
, a string that contains "true" is created; else iffalse
, a string that contains "false" is created. - Result type is integer: If the value is
true
, an integer with a value of 1 is created; else iffalse
, an integer with a value of 0 is created. - Result type is float: If the value is
true
, a float with a value of 1.0 is created; else iffalse
, a float with a value of 0.0 is created. - Result type is collection: A collection that contains a single bool value is created.
If the source type is collection:
- Result type is string: If at least one element is present in the collection, the coercion rules for converting the base type to a string are applied to the first element; else, if the collection is empty, an empty string value is used.
- Result type is integer: If at least one element is present in the collection, the coercion rules for converting the base type to an integer are applied to the first element; else, if the collection is empty, the value 0 is used.
- Result type is float: If at least one element is present in the collection, the coercion rules for converting the base type to a float are applied to the first element; else, if the collection is empty, the value 0.0 is used.
- Result type is bool:
true
if the collection contains one or more items;false
if it is empty.
Note Two collections cannot be compared. The script will abort with an error if a collection comparison is attempted.
What did you think of this topic? |
© 2008 Microsoft Corporation. All rights reserved. |