у меня есть это:рубин Hash на массив значений
hash = { "a"=>["a", "b", "c"], "b"=>["b", "c"] }
, и я хочу, чтобы добраться до этого: [["a","b","c"],["b","c"]]
Это кажется, что это должно работать, но это не делает:
hash.each{|key,value| value}
=> {"a"=>["a", "b", "c"], "b"=>["b", "c"]}
Любые предложения?
Ниже приведены правильные ответы ('hash.values' является лучшим IMO). Но я хотел бы указать, когда вы предоставляете блок 'Hash # each', он просто вернет полное значение хэша. Если вы хотите выполнить операцию над каждым элементом и вернуть его как массив, используйте 'Hash # collect' или его псевдоним' Hash # map'. Подробнее о перечислениях [здесь] (http://ruby-doc.org/core-1.9.3/Enumerable.html). – brymck
Этот вопрос выглядит странно знакомым ... Интересно, сколько людей сейчас работает над тем же домашним заданием. –