Ruby:

true == true == true

语法错误,意外的tEQ

JavaScript对:

true == true == true
// => true

C对:

1 == 1 == 1
// => 1

推荐答案

关联方向控制着运算符求值的顺序,==方法没有定义关联方向,===!==~<=>方法也没有定义关联方向(所有方法都具有相同的优先级,并专门形成一个单独的优先级组).

Documentation

因此,如果上述列表中的多个运算符链接在一行中,则应通过

  • 括号():

    (true == true) == true # => true
    true == (true == true) # => true
    
  • 或点运算符.(can be omitted for the last equality check in a row):

    true .== true == true # => true
    

Ruby相关问答推荐

Rbenv说未安装已安装的版本

用函数组合枚举器的Ruby方法

使用 Sorbet RBI 时需要 Elem

使用正则表达式判断用户输入的开头是否正好有两个大括号

Ruby 符号到类

使用 Ruby 将文件从一个目录复制到另一个目录

如何在 Ruby 中生成子进程?

Ruby 中的字符串是可变的吗?

在基于值的哈希数组上唯一

将参数传递给erb视图

如何在不按 Enter 的情况下获取单个字符?

Ruby 输出 Unicode 字符

Ruby 中的 method_missing trap

如何计算Ruby日期的星期几?

将整个文本文件作为单个字符串读取的合理方法是什么?

未加载库:/opt/local/lib/libssl.1.0.0.dylib (LoadError)

如何使用#{variable}在Ruby中格式化带有浮点数的字符串?

在 Jekyll 中使用 Live Reload

为依赖于环境变量的代码编写规范的最佳方法是什么?

JavaScript Array:获取项目的范围