Difference between revisions of "New"

From MiniScript Wiki
Jump to navigation Jump to search
(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.