Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单线ruby数组的创建和填充_Ruby_Arrays - Fatal编程技术网

单线ruby数组的创建和填充

单线ruby数组的创建和填充,ruby,arrays,Ruby,Arrays,这是相当琐碎的,但它困扰着我没有结束,我还没有找到答案使用谷歌或这个论坛。但我怎样才能把它变成一行呢?不需要在上面声明一个数组吗 rooms = [] hwdata.availability.each {|room| rooms << room.name} rooms=[] hwdata.availability.each{| room | rooms 或者在Ruby 1.9中,更加简洁: rooms = hwdata.availability.collect &:name

这是相当琐碎的,但它困扰着我没有结束,我还没有找到答案使用谷歌或这个论坛。但我怎样才能把它变成一行呢?不需要在上面声明一个数组吗

rooms = []
hwdata.availability.each {|room| rooms << room.name}
rooms=[]
hwdata.availability.each{| room | rooms
或者在Ruby 1.9中,更加简洁:

rooms = hwdata.availability.collect &:name
或者你也可以使用#map


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

进一步信息:
map
只是
collect
的另一个名称。因此您确实可以使用其中任何一个。
rooms = hwdata.availability.collect &:name