Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Ruby:为什么Hash === {}返回true?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个哈希,让我们说:
ahash = {test1: "test1",test2: "test2"}

为什么哈希=== ahash返回true,但是ahash ===哈希没有?这是一些使用===和类名的默认ruby行为吗?

解决方法

这就是===方法的工作原理.它是定向的,适用于任何类:
"foo" === String
# => false
String === "foo"
# => true

是因为它评估为:

"foo".send(:===,String)
String.send(:===,"foo")

这些是两种不同的方法,一种是类,一种用于实例.

如果你只关心课堂信息:

"foo".is_a?(String)
# => true

{ }.is_a?(Hash)
# => true

这种方法使您更清楚您的意图.

大佬总结

以上是大佬教程为你收集整理的Ruby:为什么Hash === {}返回true?全部内容,希望文章能够帮你解决Ruby:为什么Hash === {}返回true?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。