Class: Trema::OrderedHash
- Inherits:
-
Object
- Object
- Trema::OrderedHash
- Defined in:
- ruby/trema/ordered-hash.rb
Instance Attribute Summary collapse
-
#keys ⇒ Object
readonly
Returns the value of attribute keys.
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #clear ⇒ Object
- #each(&block) ⇒ Object
-
#initialize ⇒ OrderedHash
constructor
A new instance of OrderedHash.
- #size ⇒ Object
- #values ⇒ Object
Constructor Details
#initialize ⇒ OrderedHash
Returns a new instance of OrderedHash.
24 25 26 27 |
# File 'ruby/trema/ordered-hash.rb', line 24 def initialize @keys = Array.new @content = Hash.new end |
Instance Attribute Details
#keys ⇒ Object (readonly)
Returns the value of attribute keys.
21 22 23 |
# File 'ruby/trema/ordered-hash.rb', line 21 def keys @keys end |
Instance Method Details
#[](key) ⇒ Object
35 36 37 |
# File 'ruby/trema/ordered-hash.rb', line 35 def [] key @content[ key ] end |
#[]=(key, value) ⇒ Object
40 41 42 43 44 45 |
# File 'ruby/trema/ordered-hash.rb', line 40 def []= key, value @content[ key ] = value unless @keys.include?( key ) @keys << key end end |
#clear ⇒ Object
55 56 57 58 59 |
# File 'ruby/trema/ordered-hash.rb', line 55 def clear @keys.clear @content.clear self end |
#each(&block) ⇒ Object
62 63 64 65 66 |
# File 'ruby/trema/ordered-hash.rb', line 62 def each &block @keys.each do | each | block.call each, @content[ each ] end end |
#size ⇒ Object
30 31 32 |
# File 'ruby/trema/ordered-hash.rb', line 30 def size @content.size end |
#values ⇒ Object
48 49 50 51 52 |
# File 'ruby/trema/ordered-hash.rb', line 48 def values @keys.map do | each | @content[ each ] end end |