how to repeat key's?
···
--
Posted via http://www.ruby-forum.com/.
the keys for a hash are uniq.
what do u mean by 'repeat'?
2010/8/10 Dmitriy Makarov <makarovx@gmail.com>
how to repeat key's?
--
Posted via http://www.ruby-forum.com/\.
do you need a multivalue hash?
{key => val1, val2, val3 ...}
On Tue, 10 Aug 2010 17:37:09 +0900 Dmitriy Makarov <makarovx@gmail.com> wrote:
how to repeat key's?
you can find an example solution in "The Ruby way." by Hal Fulton.
On Tue, 10 Aug 2010 17:37:09 +0900 Dmitriy Makarov <makarovx@gmail.com> wrote:
how to repeat key's?
what do u mean by 'repeat'?
axample in java
HashMap h=ne HashMap();
h.put("key","value_1");
h.put("key","value_2");
h.put("key","value_N");
how to made in ruby
--
Posted via http://www.ruby-forum.com/\.
do you need a multivalue hash?
{key => val1, val2, val3 ...}
Yes
--
Posted via http://www.ruby-forum.com/\.
The Ruby hash is not a Java HashMap
x["key"] = "value_1"
x["key"] = "value_2"
puts x["key"] => "value_2"
The best you can do is:
1) Create a HashMap class for Ruby, a very simple task
2) Use lists to store the values
x["key"] = Array.new
x["key"] << "value_1"
x["key"] << "value_2"
puts x["key"] => ["value_1", "value_2"]
On 10 August 2010 10:05, Dmitriy Makarov <makarovx@gmail.com> wrote:
what do u mean by 'repeat'?
axample in java
HashMap h=ne HashMap();
h.put("key","value_1");
h.put("key","value_2");
h.put("key","value_N");how to made in ruby
--
Posted via http://www.ruby-forum.com/\.
Dmitriy Makarov wrote:
do you need a multivalue hash?
{key => val1, val2, val3 ...}Yes
(1)
myhash = Hash.new { |h,k| h[k] = }
myhash['key'] << 'val1'
myhash['key'] << 'val2'
myhash['key'] << 'val3'
p myhash
# {"key"=>["val1", "val2", "val3"]}
p myhash['key']
# ["val1", "val2", "val3"]
(2)
myhash = Hash.new { |h,k| h[k] = {} }
myhash['key']['val1'] = true
myhash['key']['val2'] = true
myhash['key']['val3'] = true
p myhash
# {"key"=>{"val3"=>true, "val1"=>true, "val2"=>true}}
p myhash['key'].keys
# ["val3", "val1", "val2"]
The latter has the property that duplicate values are eliminated, and
it's very quick to test for a particular value:
if myhash['key']['val1']
... etc
end
--
Posted via http://www.ruby-forum.com/\.
another way is to make a patch to Hash object, put ur own rules in it and u
will have a HashMap in ruby
2010/8/10 Peter Hickman <peterhickman386@googlemail.com>
The Ruby hash is not a Java HashMap
x["key"] = "value_1"
x["key"] = "value_2"puts x["key"] => "value_2"
The best you can do is:
1) Create a HashMap class for Ruby, a very simple task
2) Use lists to store the valuesx["key"] = Array.new
x["key"] << "value_1"
x["key"] << "value_2"puts x["key"] => ["value_1", "value_2"]
On 10 August 2010 10:05, Dmitriy Makarov <makarovx@gmail.com> wrote:
>> what do u mean by 'repeat'?
>
> axample in java
> HashMap h=ne HashMap();
> h.put("key","value_1");
> h.put("key","value_2");
> h.put("key","value_N");
>
> how to made in ruby
>
>
>
> --
> Posted via http://www.ruby-forum.com/\.
>
>
On 10.08.2010 11:18, wrote Peter Hickman:
The Ruby hash is not a Java HashMap
x["key"] = "value_1"
x["key"] = "value_2"puts x["key"] => "value_2"
The best you can do is:
1) Create a HashMap class for Ruby, a very simple task
2) Use lists to store the valuesx["key"] = Array.new
x["key"] << "value_1"
x["key"] << "value_2"puts x["key"] => ["value_1", "value_2"]
Why do that?
That's not how the given Java code behaves.
--
Jake Jarvis
actually u just need a method to put value in and return the overwrite
value, don't u?
so in a usual way u can write a Hash class to redefine its = method to
acheive that
2010/8/10 Jake Jarvis <pig_in_shoes@yahoo.com>
On 10.08.2010 11:18, wrote Peter Hickman:
> The Ruby hash is not a Java HashMap
>
> x["key"] = "value_1"
> x["key"] = "value_2"
>
> puts x["key"] => "value_2"
>
> The best you can do is:
> 1) Create a HashMap class for Ruby, a very simple task
> 2) Use lists to store the values
>
> x["key"] = Array.new
> x["key"] << "value_1"
> x["key"] << "value_2"
>
> puts x["key"] => ["value_1", "value_2"]Why do that?
That's not how the given Java code behaves.--
Jake Jarvis