Moscrif API Docs for: 2012q3
Show:

Multivalue Class

Library: core

Represents multi values. This is not class! Multivalues are set of values stored on Virtual Machine's stack.

Example:

var (x, y, z) = (1, 2, 3);
x += y + z;

function mul2values(a, b, mulBy)
{
    return (a * mulBy, b * mulBy);
}

var (a, b) = mul2values(2, 3, 10); // a = 20, b = 30

// pretty symetric

class Pair
{
    function this(a, b)
    {
        this._set(a, b);
    }
    function get()
    {
        return (this._a, this._b);
    }
    function set(a, b)
    {
        this._a = a;
        this._b = b;
    }
}

var p = new Pair(10, 2);
var (p1, p2) = p.get();
p.set(p2, p3); // swap

Item Index