Class: Rinda::Tuple
Overview
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.
Instance Method Summary (collapse)
-
- (Object) [](k)
Accessor method for elements of the tuple.
-
- (Object) each
Iterate through the tuple, yielding the index or key, and the value, thus ensuring arrays are iterated similarly to hashes.
-
- (Object) fetch(k)
Fetches item k from the tuple.
-
- (Tuple) initialize(ary_or_hash)
constructor
Creates a new Tuple from ary_or_hash which must be an Array or Hash.
-
- (Object) size
The number of elements in the tuple.
-
- (Object) value
Return the tuple itself.
Constructor Details
- (Tuple) initialize(ary_or_hash)
Creates a new Tuple from ary_or_hash which must be an Array or Hash.
51 52 53 54 55 56 57 |
# File 'lib/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 |
Instance Method Details
- (Object) [](k)
Accessor method for elements of the tuple.
69 70 71 |
# File 'lib/rinda/rinda.rb', line 69 def [](k) @tuple[k] end |
- (Object) each
Iterate through the tuple, yielding the index or key, and the value, thus ensuring arrays are iterated similarly to hashes.
84 85 86 87 88 89 90 |
# 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 |
- (Object) fetch(k)
Fetches item k from the tuple.
76 77 78 |
# File 'lib/rinda/rinda.rb', line 76 def fetch(k) @tuple.fetch(k) end |
- (Object) size
The number of elements in the tuple.
62 63 64 |
# File 'lib/rinda/rinda.rb', line 62 def size @tuple.size end |
- (Object) value
Return the tuple itself
94 95 96 |
# File 'lib/rinda/rinda.rb', line 94 def value @tuple end |