class

Myst::Scope

Inherits Reference / Object

Constructors

new(parent : Scope | Nil = nil)
Source

Instance methods

[](key : String) : MTValue

A non-nilable variant of []?. While this method may raise an exception, it is not considered a "public" exception (it is not meant to be reachable by userland code). Any instance where the exception propogates outside of the interpreter should be considered a bug.

Source
[]=(key : String, value : MTValue) : MTValue
Source
[]?(key : String) : MTValue | Nil

The shorthand access notations ([]?, [], []=) will all fall back to the parent scope if the value does not exist in this scope.

The longhand has_key? and assign only operate on this scope.

Source
assign(key : String, value : MTValue)
Source
clear(*args, **options)

Remove all values from this scope. Parent scopes are not affected.

Source
clear(*args, **options, &)

Remove all values from this scope. Parent scopes are not affected.

Source
each(*args, **options)

Remove all values from this scope. Parent scopes are not affected.

Source
each(*args, **options, &)

Remove all values from this scope. Parent scopes are not affected.

Source
has_key?(key : String)
Source
inspect(io : IO)

Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).inspect # => #<Person:0x10fd31f20 @name="John", @age=32>
Source
parent
Source
parent=(parent : Scope | Nil)
Source
values
Source
values=(values : Hash(String, MTValue))
Source