J
Jean-Denis Muys
Here is a counterintuitive behaviour of the arrayfields.rb module.
It's suppose to add light "indexing by keywords" capabilities to the Array
class, without going all the way to hashes.
See http://rubyfurnace.com/docs/arrayfields-3.7.0/
However, after deleting items from an array, there is mismatch in the fields.
Here is a small example:
I don't believe this is a bug. But this bit me.
Lesson learned: arrayfields don't a Hash make.
It's suppose to add light "indexing by keywords" capabilities to the Array
class, without going all the way to hashes.
See http://rubyfurnace.com/docs/arrayfields-3.7.0/
However, after deleting items from an array, there is mismatch in the fields.
Here is a small example:
require 'arrayfields' => true
ar = [1, 2, 3] => [1, 2, 3]
ar.fields = ["one", "two", "three"] => ["one", "two", "three"]
ar[1] => 2
ar["two"] => 2
ar => [1, 2, 3]
ar.delete_at("two") # ****** delete ar["two"] ****** => 2
ar["two"] # ****** but there still is an ar["two"] ****** => 3
ar => [1, 3]
ar["one"] => 1
ar["three"] => nil
ar.keys => ["one", "two", "three"]
I don't believe this is a bug. But this bit me.
Lesson learned: arrayfields don't a Hash make.