我正在尝试学习如何在二维数组中进行搜索;例如:
array = [[1,1], [1,2], [1,3], [2,1], [2,4], [2,5]]
我想知道如何在数组中搜索具有该格式的数组,[1, y]
然后显示其他y
数字是什么:[1, 2, 3]
。
如果有人可以帮助我了解如何仅使用数字进行搜索(因为我发现的很多示例都包括字符串或哈希),甚至在哪里也可以找到合适的资源,那将很有帮助。
Ruby允许您使用block参数中的括号来查找元素。select
并且map
只分配一个块参数,但是您可以查看一下元素:
array.select{|(x, y)| x == 1}
# => [[1, 1], [1, 2], [1, 3]]
array.select{|(x, y)| x == 1}.map{|(x, y)| y}
# => [1, 2, 3]
您可以省略与之间的整个表达式相对应的括号|...|
:
array.select{|x, y| x == 1}
# => [[1, 1], [1, 2], [1, 3]]
array.select{|x, y| x == 1}.map{|x, y| y}
# => [1, 2, 3]
作为一种编码样式,习惯将未使用的变量标记为_
:
array.select{|x, _| x == 1}
# => [[1, 1], [1, 2], [1, 3]]
array.select{|x, _| x == 1}.map{|_, y| y}
# => [1, 2, 3]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句