equal, eql, ===, and ==,有什么区别?

  • 回答 (2)
  • 关注 (0)
  • 查看 (61)

我想了解这四种方法之间的区别。 我知道默认==调用方法相等? 当两个操作数引用完全相同的对象时,它将返回true。

===默认情况下也调用==哪个调用相等?...好吧,所以如果所有这三个方法都不覆盖,那么我猜

===,==和平等? 做同样的事情?

现在来eql? 这是做什么(默认)? 它是否调用操作数的哈希/ ID?

为什么Ruby有这么多的平等标志? 他们是否应该在语义上有所不同?

nr348399nr348399提问于
御姐万岁回答于

uby公开了几种处理相等的方法:

a.equal?(b)#对象标识 - a和b是指同一个对象

a.eql?(b)#对象等价 - a和b具有相同的值

a == b#对象等价 - a和b与类型转换具有相同的值。

点击下面的链接继续阅读,这给了我一个明确的总结了解。

https://www.relishapp.com/rspec/rspec-expectations/v/2-0/docs/matchers/equality-matchers

回答过的其他问题

代码部署会失败,提示 “代码部署失败 -40017:获取cos文件属性失败”?

你的cos文件属性配置好了吗?是怎么配置的呢?看你的报错信息应该是没有正确配置cos,你检查一下你的配置看一下,生产环境的部署办法看一下这里https://cloud.tencent.com/document/product/619/11689

Polar码 和LDPC码的区别?

Polar码是一类基于称为信道极化的现象的线性分组码。LDPC码是一种具有稀疏校验矩阵的分组纠错码,至于是什么就不在多言了,我想说的是,其实Polar码成为5G控制信道eMBB场景编码方案其实很好理解。并且是实有名归。 Polar编码对5G场景的适用性非常高,华为在5G现场试验中...... 展开详请

获取到的备份下载链接,失效(404),后从新刷新接口获取为什么刷新后的的地址没变 还是失效链接?

新建一个控制器却无法访问是什么原因呢?

点击右上角的【腾讯云】按钮,选择【上传测试代码】,勾选【普通上传】,点击确定上传代码,等到提示开发环境部署成功你这个是开发环境部署成功未部署成功导致的,不是你的代码问题,检查是否部署正确

哪里可以设置home/uftp访问权限为a-w?

登录到linux服务器,然后使用cd命令切换到home/uftp下,然后使用

chmod a-w uftp

就行了,很简单的

提示550错误,无法删除?

如果使用上面办法都没办法解决,而且是windows服务器的话,尝试一下操作: FileZilla因为是运行中SYSTEM权限下,而共享文件SYSTEM并没有这样的功能。 所以解决这个问题的办法就是在管理--服务中,对FIleZilla进行一个管理员权限的设置。使其在管理员下面运行...... 展开详请

关于作者

所属标签

扫码关注云+社区

领取腾讯云代金券