【发布时间】:2009-09-10 12:28:52
【问题描述】:
这是相当微不足道的,但我还没有使用谷歌或这个论坛找到答案,这让我无休止地困扰着。但是我怎样才能把它变成一条线呢?不必在上面声明房间数组?
rooms = []
hwdata.availability.each {|room| rooms << room.name}
【问题讨论】:
这是相当微不足道的,但我还没有使用谷歌或这个论坛找到答案,这让我无休止地困扰着。但是我怎样才能把它变成一条线呢?不必在上面声明房间数组?
rooms = []
hwdata.availability.each {|room| rooms << room.name}
【问题讨论】:
rooms = hwdata.availability.collect {|room| room.name}
或者在 Ruby 1.9 中,更简洁:
rooms = hwdata.availability.collect &:name
【讨论】:
或者你也可以使用#map。
房间 = hwdata.availability.map {|房间|房间名称}
【讨论】:
map 只是 collect 的另一个名称。所以你真的可以使用任何一个。