A tuple is the elementary object in Rinda programming. Tuples may be matched against templates if the tuple and the template are the same size.
Creates a new Tuple from ary_or_hash which must be an Array or Hash.
# File rinda/rinda.rb, line 51
def initialize(ary_or_hash)
if hash?(ary_or_hash)
init_with_hash(ary_or_hash)
else
init_with_ary(ary_or_hash)
end
end
Accessor method for elements of the tuple.
# File rinda/rinda.rb, line 69
def [](k)
@tuple[k]
end
Iterate through the tuple, yielding the index or key, and the value, thus ensuring arrays are iterated similarly to hashes.
# File rinda/rinda.rb, line 84
def each # FIXME
if Hash === @tuple
@tuple.each { |k, v| yield(k, v) }
else
@tuple.each_with_index { |v, k| yield(k, v) }
end
end
Fetches item k from the tuple.
# File rinda/rinda.rb, line 76
def fetch(k)
@tuple.fetch(k)
end