что означает * и flatten в ruby ​​

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

movie_popularity.sort_by{|m,p| p}.reverse

, но метод сортировки возвращает массив, а мне нужно вернуть хеш, поэтому я использовал эту команду:

movie_popularity=Hash[*movie_popularity.sort_by{|m,p| p}.reverse.flatten]

мой вопрос заключается в том, что означает * и сгладитьв строке выше?

Спасибо =)

5
задан user92 16 January 2017 в 06:46
поделиться