Difference between revisions of "New"
(some information) |
|||
| Line 8: | Line 8: | ||
{{stub}} | {{stub}} | ||
| + | |||
| + | In MiniScript, the new keyword is a unary operator used for object-oriented programming. It creates either: | ||
| + | |||
| + | a new instance of an object, or | ||
| + | a subclass derived from another map/object. | ||
| + | |||
| + | When new is applied to a map, it returns a fresh map whose __isa field points to the original operand. That creates prototype-style inheritance. | ||
| + | |||
| + | Animal = { | ||
| + | speak: function | ||
| + | print "..." | ||
| + | end function | ||
| + | } | ||
| + | |||
| + | Dog = new Animal | ||
| + | |||
| + | Dog.speak = function | ||
| + | print "Woof!" | ||
| + | end function | ||
| + | |||
| + | myDog = new Dog | ||
| + | myDog.speak | ||
| + | |||
| + | Dog.__isa == Animal | ||
| + | myDog.__isa == Dog | ||
| + | |||
| + | This inheritance chain lets MiniScript look up methods and properties through parent objects automatically. | ||
Revision as of 03:13, 21 May 2026
new is a keyword unary operator used to create a subclass or instance. It is part of MiniScript's support for object-oriented programming.
new acts on a map, and returns a new map with __isa set to the operand.
This article is a stub. You can help the MiniScript Wiki by expanding it.
In MiniScript, the new keyword is a unary operator used for object-oriented programming. It creates either:
a new instance of an object, or a subclass derived from another map/object.
When new is applied to a map, it returns a fresh map whose __isa field points to the original operand. That creates prototype-style inheritance.
Animal = {
speak: function
print "..."
end function
}
Dog = new Animal
Dog.speak = function
print "Woof!"
end function
myDog = new Dog myDog.speak
Dog.__isa == Animal myDog.__isa == Dog
This inheritance chain lets MiniScript look up methods and properties through parent objects automatically.