Difference between revisions of "Isa"
Jump to navigation
Jump to search
(Example for user-defined type) |
m ((fixed typos)) |
||
Line 2: | Line 2: | ||
== isa (operator) == | == isa (operator) == | ||
− | <c>isa</c> is a [[:Category:Keywords|keyword]] binary [[operators|operator]] which tests the left-hand operator for membership in the type defined by the right-hand side. That right-hand | + | <c>isa</c> is a [[:Category:Keywords|keyword]] binary [[operators|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 <c>__isa</c> chain), or it could be one of the [[:Category:Data Types|built-in types]]: [[number]], [[string]], [[list]], [[map]], or [[funcRef]]. |
=== Examples for built-in types === | === Examples for built-in types === | ||
Line 20: | Line 20: | ||
MyOtherDefinedType = {} | MyOtherDefinedType = {} | ||
− | obj = new | + | obj = new MyDefinedType |
obj isa MyDefinedType // returns 1 - direct type | obj isa MyDefinedType // returns 1 - direct type |
Revision as of 06:32, 9 August 2023
Because this wiki software does not allow topic names to begin with an underscore, this page contains two different topics.
Contents
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
- Object-oriented programming in miniscript
- The map type
This article is a stub. You can help the MiniScript Wiki by expanding it.