Isa

From MiniScript Wiki
Revision as of 06:32, 9 August 2023 by Marc Gurevitx (talk | contribs) ((fixed typos))
Jump to navigation Jump to search

Because this wiki software does not allow topic names to begin with an underscore, this page contains two different topics.

isa (operator)

isa is a keyword binary operator which tests the left-hand operator for membership in the type defined by the right-hand side. That right-hand operand could be a user-defined map (to which the left-hand side might belong via the __isa chain), or it could be one of the built-in types: number, string, list, map, or funcRef.

Examples for built-in types

"Hello" isa string    // returns 1
"Hello" isa number    // returns 0
123 isa number        // returns 1
"123" isa number      // returns 0 
[1,2,3] isa list      // returns 1
{"uno":1,"dos":2} isa map    // returns 1

Examples for user-defined types

MyDefinedType = {}
MyOtherDefinedType = {}

obj = new MyDefinedType

obj isa MyDefinedType        // returns 1 - direct type
obj isa map                  // returns 1 - related by inheritance

obj isa MyOtherDefinedType   // returns 0 - because unrelated

__isa (map entry)

__isa is a special entry in a map that refers to the map's base class. It is part of MiniScript's support for object-oriented programming.

See also


This article is a stub. You can help the MiniScript Wiki by expanding it.