2015-08-25 3 views
0

Я всегда в конечном итоге писать следующий код, чтобы получить массив значений для определенного ключа:рубин карта на хэш-ключ

hash.map{ |h| h['key'] || "default" } 

Кто-нибудь знает более чистый способ написания того же кода?

Что-то вроде:

hash.map_keys(&:key, 'default') 
+0

Это не имеет никакого смысла. Можете ли вы дать нам пример ввода и вывода? Строка кода, которую вы предоставили, на самом деле не делает ничего разумного. – meagar

+0

Я просто понял, что это бессмысленно. Я имею в виду следующее: У меня есть массив хэшей: '[{email: 'a'}, {email: 'b'}]', из которого я хотел бы получить: '['a', ' b '] ' – dunyakirkali

+1

Пожалуйста, не уточняйте в комментариях, отредактируйте ваш вопрос, чтобы он дал понять. – meagar

ответ

1

Вы можете использовать hash.keys, чтобы получить хэш-ключи.

Чтобы получить значения из массива хэшей для ключа, вы можете использовать fetch, если вам нужно установить значение по умолчанию.

0

Если вам нужны значения, вы после hash.values.

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