gpt4 book ai didi

ruby - 我怎样才能做连续的破坏性加法/减法?

转载 作者:太空宇宙 更新时间:2023-11-03 18:26:43 27 4
gpt4 key购买 nike

编辑 以前版本的问题没有准确反射(reflect)我的问题。我编辑了它。

我想做一系列破坏性的加法/减法(对具有相应方法的可变对象)。 a 被赋值后:

a = [:a, :b]

以下所有返回语法错误。

a -= [:b] += [:c]
(a -= [:b]) += [:c]
a.-=([:b]).+=([:c])

有没有办法正确地做到这一点,或者这样做没有意义?

最佳答案

首先

a = [:a, :b]
a -= [:a]

非破坏性操作。真正的意思是

a = a - [:a]

如果你真的想链接破坏性操作,你可以,但你可能需要在现有破坏性方法的基础上创建自己的方法:

class Array
def my_delete(e)
delete(e)
self
end
end

[:a, :b].my_delete(:b).concat([:c])

关于ruby - 我怎样才能做连续的破坏性加法/减法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9812174/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com