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

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

Accessor method for elements of the tuple.

[Source]

# 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.

[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

Fetches item k from the tuple.

[Source]

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

The number of elements in the tuple.

[Source]

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

Return the tuple itself

[Source]

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

[Validate]