2013-03-06 37 views
-1

所以我有一個活動記錄對象的數組。從Ruby中的數組獲取第一個特定類的對象

我需要抓住該類中的第一個現有對象,其類爲post,將它移動到一個全新的數組中,以便它不再存在於初始數組中。

在Ruby中這樣做的最佳方式是什麼?

+0

你到目前爲止試過了什麼?我認爲這可能是你正在尋找的http://stackoverflow.com/questions/3893278/ruby-kind-of-vs-instance-of-vs-is-a – Eric 2013-03-06 07:37:07

回答

2
new_array = [old_array.delete(old_array.detect { |object| object.is_a? Post })] 
+0

是的!這工作!我怎麼能修改這個,以便它可以檢查多個類?因此,如果它是衆多其中之一,請添加它。 – alt 2013-03-06 07:40:20

+1

@JacksonGariety您可以使用'[String,OtherClass] .include? object.class' – TimPetricola 2013-03-06 07:43:26

+0

@JacksonGariety:如果你想要使用['Enumerable#any?'](http://ruby-doc.org/core-2.0/Enumerable.html#method-i-any-3F)堅持'is_a?'。 – 2013-03-06 07:44:33

相關問題