Ruby有一個select
方法,該方法採用一個數組並返回一個子陣列由全部通過在一個塊中給出的測試中的元件中的:紅寶石:選擇一組陣列索引,其元素通過測試
myarray.select{|e| mytest(e)} #=> subarray of elements passing mytest
我想知道是否有一個簡單的方法來獲取這些元素,但他們的指數。我明白你可以這樣做:
indices = []
myarray.each_with_index{|e,i| indices << i if mytest(e)}
但我正在尋找一個班輪。有一個存在嗎?請不要給Array類寫一個擴展名,我知道你可以用這種方式獲得一行代碼。
這是一個簡單的國王。不敢相信我沒有想到這個!做得好。 –