Class: Rinda::Tuple

Class | Rinda::Tuple
In: | rinda/rinda.rb
Parent: | Object

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

[] each fetch new size value

### Public Class methods

new(ary_or_hash)

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

[Source]

    # 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

### Public Instance methods

[](k)

Accessor method for elements of the tuple.

[Source]

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

each( {|k, v| ...}

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

[Source]

    # 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

fetch(k)

Fetches item `k` from the tuple.

[Source]

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

size()

The number of elements in the tuple.

[Source]

    # File rinda/rinda.rb, line 62
        def size
          @tuple.size
        end

value()

Return the tuple itself

[Source]

    # File rinda/rinda.rb, line 94
        def value
          @tuple
        end

[Validate]