Forum: Ruby Hash Value Assignment Bug?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Nshbrown N. (Guest)
on 2005-11-19 13:56
(Received via mailing list)
I have been trying to build a ACL system, and found what I believe is a
bug.

>> result = {"return_value"=>nil, "allow"=>"t", "id"=>"1000002"}
=> {"allow"=>"t", "return_value"=>nil, "id"=>"1000002"}

>> access = { :acl_id => result["acl_id"], :return_value =>
result["return_value"], :allow => allow }
=> {:return_value=>nil, :acl_id=>nil, :allow=>true}

What I was trying to do, is set the access hash values with the values
from
the result Hash. What I result with, is null values.


Warmest regards,
Nathan.
dez (Guest)
on 2005-11-19 14:33
(Received via mailing list)
Your are assigning a key of :id to result, but accessing a key
of :acl_id in the seconds assignment.
It is not clear what your intentions are with :allow=>allow - is
allow defined somewhere, or did you mean :allow=>result[:allow] ??
Nshbrown N. (Guest)
on 2005-11-19 15:57
(Received via mailing list)
> >>> access = { :acl_id => result["acl_id"], :return_value =>
> > result["return_value"], :allow => allow } => {:return_value=>nil,
> > :acl_id=>nil, :allow=>true}
>

Thanks Derek, appears it was a simple typo. Shortly after I sent this I
fixed a bug with the local allow variable which wasn't testing for (t|f)
but
rather 1|0. After that was fixed, one of the nil's was removed, this
explains the other.

Warmest regards,
Nathan.
This topic is locked and can not be replied to.