NAME
DR::Tarantool::Tuple - tuple container for DR::Tarantool
SYNOPSIS
my $tuple = new DR::Tarantool::Tuple([ 1, 2, 3]);
my $tuple = new DR::Tarantool::Tuple([ 1, 2, 3], $space);
my $tuple = unpack DR::Tarantool::Tuple([ 1, 2, 3], $space);
$tuple->next( $other_tuple );
$f = $tuple->raw(0);
$f = $tuple->name_field;
DESCRIPTION
Tuple contains normalized (unpacked) fields. You can access the fields by their indexes (see raw function) or by their names (if they are described in space).
Each tuple can contain references to next tuple and iterator. So If You extract more than one tuple, You can access them.
METHODS
new
Constructor.
my $t = DR::Tarantool::Tuple->new([1, 2, 3]);
my $t = DR::Tarantool::Tuple->new([1, 2, 3], $space);
unpack
Constructor.
my $t = DR::Tarantool::Tuple->unpack([1, 2, 3], $space);
raw
Returns raw data from tuple.
my $array = $tuple->raw;
my $field = $tuple->raw(0);
next
Appends or returns the following tuple.
my $next_tuple = $tuple->next;
iter
Returns iterator linked with the tuple.
my $iterator = $tuple->iter;
my $iterator = $tuple->iter('MyTupleClass', 'new');
while(my $t = $iterator->next) {
# the first value of $t and $tuple are the same
...
}
Arguments
- package (optional)
- method (optional)
-
if 'package' and 'method' are present, $iterator->next method will construct objects using
$package->$method( $next_tuple )
if 'method' is not present and 'package' is present, iterator will bless raw array into 'package'
tail
Returns tail of tuple (array of unnamed fields). The function always return ARRAYREF (as raw).
COPYRIGHT AND LICENSE
Copyright (C) 2011 Dmitry E. Oboukhov <unera@debian.org>
Copyright (C) 2011 Roman V. Nikolaev <rshadow@rambler.ru>
This program is free software, you can redistribute it and/or
modify it under the terms of the Artistic License.
VCS
The project is placed git repo on github: https://github.com/unera/dr-tarantool/.