wren

a classy little scripting language

Object Class

Static Methods #

same(obj1, obj2) #

Returns true if obj1 and obj2 are the same. For value types, this returns true if the objects have equivalent state. In other words, numbers, strings, booleans, and ranges compare by value.

For all other objects, this returns true only if obj1 and obj2 refer to the exact same object in memory.

This is similar to the built in == operator in Object except that this cannot be overriden. It allows you to reliably access the built-in equality semantics even on user-defined classes.

Methods #

! operator #

Returns false, since most objects are considered true.

==(other) and !=(other) operators #

Compares two objects using built-in equality. This compares value types by value, and all other objects are compared by identity—two objects are equal only if they are the exact same object.

is(class) operator #

Returns true if this object’s class or one of its superclasses is class.

System.print(123 is Num)     true
System.print("s" is Num)     false
System.print(null is String) false
System.print([] is List)     true
System.print([] is Sequence) true

It is a runtime error if class is not a Class.

toString #

A default string representation of the object.

type #

The Class of the object.