About data types (LotusScript® Language)

LotusScript® recognizes the following scalar (numeric and string) data types:

Data type

Suffix

Value range

Size

Byte

none

0 to 255

Initial value: 0

1 byte

Boolean

none

0 (False) or -1 (True)

initial value: 0

2 bytes

Integer

%

-32,768 to 32,767 Initial value: 0

2 bytes

Long

&

-2,147,483,648 to 2,147,483,647 Initial value: 0

4 bytes

Single

!

-3.402823E+38 to 3.402823E+38 Initial value: 0

4 bytes

Double

#

-1.7976931348623158+308 to 1.7976931348623158+308 Initial value: 0

8 bytes

Currency

@

-922,337,203,685,477.5807 to 922,337,203,685,477.5807 Initial value: 0

8 bytes

String

$

(String length ranges from 0 to 32K characters) Initial value: "" (empty string)

(2 bytes/character)

Besides these scalar data types, LotusScript® supports the following additional data types and data structures:

Data type or structure

Description

Size

Array

An aggregate set of elements having the same data type. An array can comprise up to 8 dimensions whose subscript bounds can range from -32768 to 32767.

Initial value: Each element in a fixed array has an initial value appropriate to its data type.

Up to 64K bytes

List

A one-dimensional aggregate set whose elements have the same data type and are referred to by name rather than by subscript.

Up to 64K bytes

Variant

A special data type that can contain any scalar value, array, list, or object reference.

Initial value: EMPTY

16 bytes

User-defined data type

An aggregate set of elements of possibly disparate data types. Comparable to a record in Pascal or a struct in C.

Initial value: Member variables have initial values appropriate to their data types.

Up to 64K bytes

Class

An aggregate set of elements of possibly disparate data types together with procedures that operate on them.

Initial value: When you create an instance of a class, LotusScript® initializes its member variables to values appropriate to their data types, and generates an object reference to it.

Object reference

A pointer to an OLE Automation object or an instance of a product class or user-defined class.

Initial value: NOTHING.

4 bytes

In each of the preceding tables, the specified storage size is platform independent.