непонятное поведение Hash в ruby
От: dperfil  
Дата: 10.12.08 23:46
Оценка:
Привет. Имеем код
class TestStr < String
  attr_accessor :dupstr
  def initialize ( str )
    @dupstr = str
    super(str)
  end
end
ts=TestStr.new("aaa")
puts ts.dupstr
h=Hash.new()
h[ts]=true
puts h.keys.first.class
puts h.keys.first
puts h.keys.first.dupstr


запускаем:
$ ruby t.rb
aaa
TestStr
aaa
nil
$


вопрос — почему в последней строке nil а не "aaa" ?

12.12.08 22:11: Перенесено модератором из 'Прочее' — Кодт
Re: непонятное поведение Hash в ruby
От: Зануда Россия http://pablo.newmail.ru
Дата: 11.12.08 07:24
Оценка:
Здравствуйте, dperfil, Вы писали:

D>вопрос — почему в последней строке nil а не "aaa" ?


Похоже в словаре объект ключа другой, удостовериться получив значение указателя на объект у меня не получилось. Причём я так понял объект был создан без вызова конструктора, по типу того, как это делает yaml.
Некто сказал: Щисливага программинья ;-)
Re: непонятное поведение Hash в ruby
От: dperfil  
Дата: 11.12.08 20:06
Оценка:
задавать вопросы надо сразу в правильном месте)
http://www.ruby-forum.com/topic/173101
Re[2]: непонятное поведение Hash в ruby
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 12.12.08 17:38
Оценка:
Здравствуйте, dperfil, Вы писали:
D>задавать вопросы надо сразу в правильном месте)
D>http://www.ruby-forum.com/topic/173101

http://www.rsdn.ru/forum/group/dynamic.aspx
Хорошо там, где мы есть! :)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.