2012-09-27 67 views

回答

5

它是陣列的.index方法。

http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-index

在Ruby中,只有falsenil被認爲是假值,所以你可能只是做:

arr = %w{a, b, c} 
c = 'c' 
if arr.index c 
    # do something 
else 
    # do something else 
end 
+0

編輯你的答案(http://stackoverflow.com/questions/12617036/ruby-why-arr-wa-bcabc/12617106#12617106),並會得到正確答案 –

+0

@DanMyasnikov我剛剛使用了'arr '從你的問題來看,是的''c''不在你的數組中,'''''''''。 – xdazz

1

使用陣列#指數:

c = 'c' 
%w{a b c}.index(c) 
+0

我認爲你的意思ŧ o寫'%w {a b c}' – waldrumpus

+0

@waldrumpus是的,謝謝,從問題的源代碼複製。 – Hck

+0

所以你沒有 - 抱歉,我應該發佈上面的評論。 – waldrumpus

3

如果您要檢查的數組中的元素的存在,你可以使用include?

if arr.include?(c) 
    # do stuff 
else 
    # don’t 
end 
0
if arr.last == c 
    # do some stuff 
else 
    # don't do some stuff 
end