gpt4 book ai didi

ruby - Ruby 有类似 .= 的东西吗,比如 +=?

转载 作者:数据小太阳 更新时间:2023-10-29 07:22:21 25 4
gpt4 key购买 nike

既然可以做到:

a += 1

我在想是否也可以做类似的事情:

a .= 1

例如,用例是 ActiveRecord:

query = Model
query .= where(name: 'John') # instead of query = query.where(name: 'John')

这有可能吗?

最佳答案

不,ruby 没有这样的东西。 Ruby 语法只允许某些“复合运算符”,而这个运算符不在其中。

但是,在特定情况下可能会有变通方法(但不是这个)。如果,比方说,你有一个数组,那么用

ary = ary.select { ... } if foo
ary = ary.select { ... } if bar
ary = ary.compact

你能做到

ary.select! { ... } if foo
ary.select! { ... } if bar
ary.compact!

(这可能会产生意想不到的后果,是的,因为就地突变通常是危险的。但在某些情况下这是可取的。不要为了缩短代码而这样做。)

关于ruby - Ruby 有类似 .= 的东西吗,比如 +=?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43879481/

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