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.
# File lib/rinda/rinda.rb, line 69 def [](k) @tuple[k] end
Accessor method for elements of the tuple.
# File lib/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 Iterate through the tuple, yielding the index or key, and the value, thus ensuring arrays are iterated similarly to hashes.
# File lib/rinda/rinda.rb, line 76 def fetch(k) @tuple.fetch(k) end
Fetches item k from the tuple.
# File lib/rinda/rinda.rb, line 62 def size @tuple.size end
The number of elements in the tuple.
# File lib/rinda/rinda.rb, line 94 def value @tuple end
Return the tuple itself
# File lib/rinda/rinda.rb, line 100 def hash?(ary_or_hash) ary_or_hash.respond_to?(:keys) end
# File lib/rinda/rinda.rb, line 107
def init_with_ary(ary)
  @tuple = Array.new(ary.size)
  @tuple.size.times do |i|
    @tuple[i] = ary[i]
  end
end Munges ary into a valid Tuple.
# File lib/rinda/rinda.rb, line 117
def init_with_hash(hash)
  @tuple = Hash.new
  hash.each do |k, v|
    raise InvalidHashTupleKey unless String === k
    @tuple[k] = v
  end
end Ensures hash is a valid Tuple.
    Ruby Core © 1993–2020 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.