2
比方說,我有一個數組中的元素列表,但是有一種合理的方法可以將它們分成兩組。我想根據這個標準將這些元素放到兩個較小的數組中。下面是一些代碼,工作和幫助說明我的意思:Ruby中是否有一種方法基於邏輯條件將數組分成兩個較小的數組?
foo = ['a', 'bb', 'c', 'ddd', 'ee', 'f']
=> ["a", "bb", "c", "ddd", "ee", "f"]
a = foo.select{|element| element.length == 1}
=> ["a", "c", "f"]
b = foo.reject{|element| element.length == 1}
=> ["bb", "ddd", "ee"]
我似乎記得看到一些途徑,使單一的方法調用將分配A和B,但我不記得這是什麼。它看起來像
matching, non_matching = foo.mystery_method{|element| element.length == 1}
我瘋了,還是這樣的方法存在於Ruby和/或Rails?