создание одной строки ruby-массива и заполнение - PullRequest
0 голосов
/ 10 сентября 2009

Это довольно тривиально, но меня до бесконечности беспокоит то, что я еще не нашел ответ, используя Google или этот форум. Но как я могу превратить это в одну строку? Не должны ли комнаты объявлять массив выше?

rooms = []
hwdata.availability.each {|room| rooms << room.name}

Ответы [ 2 ]

7 голосов
/ 10 сентября 2009
rooms = hwdata.availability.collect {|room| room.name}

Или в Ruby 1.9, даже более кратко:

rooms = hwdata.availability.collect &:name
0 голосов
/ 15 сентября 2009

Или вы также можете использовать #map.

rooms = hwdata.availability.map {| room | room.name}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...