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