class Ven::Suite::MBox

Overview

Boxes are lightweight (in theory, at least) carriers of scope. Through box instances (see MBoxInstance), they provide a medium for working with custom fields.

Defined in:

ven/suite/model.cr

Constructors

Instance Method Summary

Instance methods inherited from class Ven::Suite::MFunction

callable? callable?, leading?(type : Model) leading?, pg(params : Array(String), given : Models) pg, specificity : Int32 specificity, variant?(args : Models) variant?

Instance methods inherited from class Ven::Suite::MClass

[]=(referent : Model, value : Model) : Model | Nil []=, []?(index : Int)
[]?(index : Range)
[]?
, callable? : Bool callable?, eqv?(other : Model) : Bool eqv?, false? : Bool false?, field(name : String) : Model | Nil field, indexable? indexable?, length : Int32 length, match(other : Model) match, nth(index : Num)
nth(range : MRange)
nth(other)
nth
, of?(other : MType) : Bool
of?(other : MAny)
of?(other)
of?
, set_referent(referent : Model, value : Model) : Model set_referent, to_bool(inverse = false) : MBool to_bool, to_num : Num to_num, to_str : Str to_str, to_vec : Vec to_vec, true? : Bool true?, weight : MWeight weight

Constructor Detail

def self.new(name : String, given : Array(Ven::Suite::MClass | Ven::Suite::MStruct), params : Array(String), arity : Int32, target : Int32) #

[View source]

Instance Method Detail

def arity : Int32 #

[View source]
def eqv?(other : MBox) #

Returns whether this box is equal-by-value to the other box.

Just compares the names of the two.


[View source]
def eqv?(other : MBoxInstance) #

Returns whether this box is the parent of the other box instance.


[View source]
def given : Models #

[View source]
def name : String #

[View source]
def params : Array(String) #

[View source]
def target : Int32 #

[View source]
def to_s(io) #

[View source]
def variant?(args) : self | Nil #

[View source]