Esempio n. 1
0
    function select($block)
    {
        return $this->to_a()->select($block);
    }
    function to_a()
    {
        $result = new Arr();
        foreach ($this->members as $member) {
            $result[] = $this->{$member};
        }
        return $result;
    }
    function to_h()
    {
        $result = new Hash();
        foreach ($this->members as $member) {
            $result[$member] = $this->{$member};
        }
        return $result;
    }
    function values_at($keys)
    {
        $keys = func_get_args();
        return $this->to_a()->call('values_at', $keys);
    }
}
Struct::extend('StructMethods');
Struct::alias_method('length', 'count');
Struct::alias_method('size', 'count');
Struct::alias_method('values', 'to_a');