2014-01-09 2 views
1

Я хочу переписать так:Каково имя метода + = для хэша?

my_hash['a'] += 5 

в чем-то вроде этого:

my_hash. send (:[]+=, 'a', 5) 

но :[]+= не работает.

Есть ли способ сделать это?

+1

В Ruby называется ассоциативным массивом * хэш *. – Stefan

ответ

2

Это синтаксический сахар для:

my_array['a'] = my_array['a'] + 5 

Так метод + на элементе (не массив), и [][]= и на самом массиве. (Или, точнее здесь, на хэш.)

Смежные вопросы