gpt4 book ai didi

ruby 数量相等?

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

比较两个数,如下图:

#!/usr/bin/ruby

a=1000, b=1000, c=1000, d=1000
puts a==b, c==d

但是打印:

false
true

为什么 Ruby 会这样比较结果?

最佳答案

Ruby 在一行中设置多个变量的快捷方式与 C 语言略有不同。

正如 SimpleLime's Answer 中指出的那样,您使用的语法实际上创建了一个 a 变量数组。

正如另一位在评论中指出的那样,您的示例的编写方式将评估为以下内容:

a = [1000, (b = 1000), (c = 1000), (d = 1000)]

虽然 bcd 按预期设置,但 a 没有。 a设置为一个数组,而bcd设置为1000,因为 variable = value 实际上是一个返回给定值的方法调用。

您真正想要的 Ruby 语法如下所示:

a, b, c, d = 1000, 1000, 1000, 1000

或者它实际评估的结果:

a, b, c, d = [1000, 1000, 1000, 1000]

如果所有值都相同,您还可以使用其他很常见的快捷语法。

a = b = c = d = 1000

但如果不使用“值”类型(例如数字或 bool 值),请注意此语法,因为所有对象都将共享相同的引用。

关于 ruby 数量相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51971810/

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