Использовать строку для доступа к локальной переменной по имени

Я новичок в этом, но у меня есть следующий код:

when /^read (.+)$/
   puts "Reading #{$1}:"
   puts $1.description.downcase

Я хотел бы использовать $ 1 в качестве переменной, которую я может вызывать методы, в настоящее время интерпретатор возвращает «NoMethodError: undefined method 'description' для« Door »: String» .

Edit :

Например:

door = Item.new( :name => "Door", :description => "a locked door" )
key  = Item.new( :name => "Key",  :description => "a key"         )
6
задан Phrogz 7 May 2011 в 13:26
поделиться