New*_*Mrd 14 ruby arrays select
如何从数组中删除一些元素并选择它们?
例如:
class Foo
def initialize
@a = [1,2,3,4,5,6,7,8,9]
end
def get_a
return @a
end
end
foo = Foo.new
b = foo.get_a.sth{ |e| e < 4 }
p b # => [1,2,3]
p foo.get_a # => [4,5,6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)
我可以用什么而不是foo.get_a.sth?
saw*_*awa 27
如果您不需要保留以下对象ID a:
a = [1,2,3,4,5,6,7,8,9,10]
b, a = a.partition{|e| e < 4}
b # => [1, 2, 3]
a # => [4, 5, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)
如果确实需要保留对象id a,则使用时间数组c:
a = [1,2,3,4,5,6,7,8,9,10]
b, c = a.partition{|e| e < 4}
a.replace(c)
Run Code Online (Sandbox Code Playgroud)