Class | Hashery::Association |
In: |
lib/hashery/association.rb
|
Parent: | Object |
Association is a general binary association that allows one object to be associated with another. It has a variety of uses, such as linked-lists, simple ordered maps and mixed collections, among them.
NOTE: This class is still fairly experimental. And it is not loaded along with the other Hashery libraries when using `require ‘hashery’`. It must be required independently.
Associations can be used to draw simple relationships.
:Apple >> :Fruit :Apple >> :Red :Apple.associations #=> [ :Fruit, :Red ]
It can also be used for simple lists of ordered pairs.
c = [ :a >> 1, :b >> 2 ] c.each { |k,v| puts "#{k} associated with #{v} }
produces
a associated with 1 b associated with 2
The method :>> is used to construct the association. It is a rarely used method so it is generally available. But you can‘t use it for any of the following classes becuase they use #>> for other things.
Bignum Fixnum Date IPAddr Process::Status
index | [RW] | The "index key" of the association. |
value | [RW] | The "value" of the association. |
Shortcut for new.
index - The "index key" of the association. value - The "value" of the association.
Returns `Association`.
Initialize new Association.
index - The "index key" of the association. value - The "value" of the association.
Compare the values of two associations.
TODO: Comparions with non-associations?
assoc - The other `Association`.
Returns [Integer] `1`, `0`, or `-1`.
Invert association, making the index the value and vice-versa.
Returns [Array] with two-elements reversed.