<< Previous Suneido > Contents > Language > Data TypesNext >> 

Object

Objects are Suneido's general-purpose containers. They can be used as arrays, lists, records. Objects are also used to represent instances of classes.

Support only is (==), isnt (!=), subscript [], and member (.) operations.

Objects are equal if they have the same members, values, and classes.

Additional, user defined methods can be added by defining a class called "Objects".

Object literals can be written as follows:

object-literal:

    # ( members )

list-member:

    literal

named-members:

    name: literal

name:

    identifier
    number
    string

For example:

#(1, 2, "abc", "def")
#(name: "Joe", age: 23)
#(1, "abc", name: "Joe")

Nested object literals do not require the leading '#' for example:

#(name: "Joe", children: ("Sue", "Sam"))

Identifiers may be used as values, the following is equivalent to the last example:

#(name: Joe, children: (Sue, Sam))

Commas are optional, the following is equivalent to the last example:

#(name: Joe children: (Sue Sam))

Record literals are written similarly, except with curly braces instead of parenthesis:

#{name: "Joe", age: 23}

See also: Object, Record


<< Previous Suneido > Contents > Language > Data TypesNext >> 
Copyright (C) 2000-2007 Suneido Software Corp. All rights reserved worldwide.