数组#删除,但返回数组?

wer*_*mon 26 ruby

是否有内置方法执行与Array#delete返回相同的功能self?我想这样做而不使用块而且更清晰an_ary.-([el]).

我可以monkeypatch一个,但它似乎是一个"紧凑的参数"方法将是一个相对普遍的愿望?

Phr*_*ogz 39

如果你想改变原始数组,比如delete,这里有选项:

ary.reject!{|e| e==42 }.something_else
ary.tap{|a| a.delete 42}.something_else
(ary.delete 42;ary).something_else
(ary-=[42]).something_else
Run Code Online (Sandbox Code Playgroud)

如果你想要一个新的数组链接:

ary.reject{|e| e==42 }.something_else
(ary-[42]).something_else
Run Code Online (Sandbox Code Playgroud)


Vic*_*tor 5

an_ary.-([el]) looks awful.

What about...

an_ary - [el]
Run Code Online (Sandbox Code Playgroud)

?

The most natural way of dealing with mathematical operations is this...

4 - 2
Run Code Online (Sandbox Code Playgroud)

Not this...

4.-(2)
Run Code Online (Sandbox Code Playgroud)