使用array.each_with_index
返回一個數組,其中包含幾個元素的索引,我將其設置爲等於變量indexes
。我只想知道如何在array[indexes] #=> element 1, element 2, etc
這些索引中找到各個元素。我嘗試了前面的例子,沒有運氣,也array[indexes.each {|x| x}]
。使用索引數組查找元素(Ruby)
不知道爲什麼這麼難,但我是全新的編碼,我無法在其他地方找到答案。
使用array.each_with_index
返回一個數組,其中包含幾個元素的索引,我將其設置爲等於變量indexes
。我只想知道如何在array[indexes] #=> element 1, element 2, etc
這些索引中找到各個元素。我嘗試了前面的例子,沒有運氣,也array[indexes.each {|x| x}]
。使用索引數組查找元素(Ruby)
不知道爲什麼這麼難,但我是全新的編碼,我無法在其他地方找到答案。
這就是Array#values_at是:
indices = [0,2]
p ["a", "b", "c", "a"].values_at(*indices) # => ["a", "c"]
這實際上是我在找的東西,我允許我做我需要的東西。謝謝! – 2014-09-21 15:28:03
您可能是錯誤的。
each_with_index意味着遍歷你的陣列像這樣的指標:
array.each_with_index do |element, index|
#do stuff with the element and the index here
end
如果你已經有索引的數組,你真的想這樣做的,您可以:
indexes.each do |index|
array[index]
end
您應該將each
作爲for循環的其他元素,將每個元素連續傳遞給| |
中的變量。在{ }
或do ... end
內部,您可以使用自己的元素進行操作。它並不意味着像使用X = array.each :)
當我說我使用'array.each_with_index'時,我剛剛離開了我用來查找我想要的索引的塊的其餘部分。應該保持清楚。您的解決方案有效,非常感謝! – 2014-09-21 15:06:11
給您已經嘗試的代碼。 – 2014-09-21 14:56:21