我正在分析一下三个等号#{1}}或 case equality 方法/运算符如何在Ruby上运行true,false,TrueClass和FalseClass。我在评估这些表达式时发现了这种特殊的行为/结果:
===
我知道每个对象都有自己的实现,例如string where:
> TrueClass === true
# => true
> true === TrueClass
# => false
如果variable === 'abc'
意味着,变量完全匹配'abc',否则匹配true
。
我在C中看到的实现并没有真正告诉我任何事情,因为我对Ruby的C实现并不是很熟悉。这是链接:http://ruby-doc.org/core-2.3.0/TrueClass.html#method-i-3D-3D-3D
提前致谢。