在Array中查找值
我如何使用Ruby 1.8.7在Array中找到值?
我猜你正试图找出数组内是否存在某个值,如果是这种情况,可以使用Array#include?(value):
a = [1,2,3,4,5]
a.include?(3) # => true
a.include?(9) # => false
如果你的意思是别的,请检查Ruby Array API
使用Array#select
将会给你一个满足条件的元素数组。 但是,如果您正在寻找一种将元素从符合条件的数组中取出的方法,那么Enumerable#detect
会是更好的方法:
array = [1,2,3]
found = array.select {|e| e == 3} #=> [3]
found = array.detect {|e| e == 3} #=> 3
否则,你将不得不做一些尴尬的事情,如:
found = array.select {|e| e == 3}.first
喜欢这个?
a = [ "a", "b", "c", "d", "e" ]
a[2] + a[0] + a[1] #=> "cab"
a[6] #=> nil
a[1, 2] #=> [ "b", "c" ]
a[1..3] #=> [ "b", "c", "d" ]
a[4..7] #=> [ "e" ]
a[6..10] #=> nil
a[-3, 3] #=> [ "c", "d", "e" ]
# special cases
a[5] #=> nil
a[5, 1] #=> []
a[5..10] #=> []
或者像这样?
a = [ "a", "b", "c" ]
a.index("b") #=> 1
a.index("z") #=> nil
见手册。
链接地址: http://www.djcxy.com/p/25673.html上一篇: Find value in Array