1
0
forked from Mirror/wren
Files
wren/doc/site/core/object.markdown
Bob Nystrom fcf4197139 Add Object.same(_,_) to access built-in equality even for classes that may override ==.
Had to add a new metaclass for Object since it now has its own static method so we
can't just use Class as its metaclass. (We don't want *every* class to have a same(_,_)
static method.)
2015-05-01 07:55:28 -07:00

1.1 KiB

^title Object Class ^category core

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.

toString

A default string representation of the object.

type

The Class of the object.