Skip to Content Skip to Search

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.

Methods
#
E
F
N
S
V

Class Public methods

new(ary_or_hash)

Creates a new Tuple from ary_or_hash which must be an Array or Hash.

# File ruby/lib/rinda/rinda.rb, line 53
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

Instance Public methods

[](k)

Accessor method for elements of the tuple.

# File ruby/lib/rinda/rinda.rb, line 71
def [](k)
  @tuple[k]
end

each()

Iterate through the tuple, yielding the index or key, and the value, thus ensuring arrays are iterated similarly to hashes.

# File ruby/lib/rinda/rinda.rb, line 86
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

fetch(k)

Fetches item k from the tuple.

# File ruby/lib/rinda/rinda.rb, line 78
def fetch(k)
  @tuple.fetch(k)
end

size()

The number of elements in the tuple.

# File ruby/lib/rinda/rinda.rb, line 64
def size
  @tuple.size
end

value()

Return the tuple itself

# File ruby/lib/rinda/rinda.rb, line 96
def value
  @tuple
end