ruby - Ruby 的哈希“值”有区别吗?和“has_value?”
问题描述
我正在查看 和的Hash
文档。但是,链接会导致有关.has_value?
value?
value?
has_value?
value?
似乎与has_value?
(Ruby 3.02)相同。
这是否意味着value?
被弃用或者这是一个文档错误?
解决方案
您可以通过比较它们的方法对象来检查它们是否相同:
Hash.instance_method(:value?) == Hash.instance_method(:has_value?)
#=> true
UnboundMethod#==
true
如果方法引用相同的实现,则返回。
这是否意味着价值?正在被弃用还是这是一个文档错误?
这似乎是一个文档错误。来自官方网站的文档对别名更加明确:
https://docs.ruby-lang.org/en/3.0.0/Hash.html#method-i-has_value-3F
has_value?(value) → true or false
true
如果value
是 中的值,则返回self
,否则返回false
。也别名为:
value?
但是, 的条目value?
没有标题:(value?(value) → true or false
缺少粗体部分)
https://docs.ruby-lang.org/en/3.0.0/Hash.html#method-i-value-3F
true
如果value
是 中的值,则返回self
,否则返回false
。别名:
has_value?
推荐阅读
- javascript - 从 Javascript 添加 HTML 元素最后会被注释掉
- discord.py - 在 if 语句中使用 emoji 来查看用户反应的 emoji 是否是指定的是否不起作用
- c# - 添加另一个 DbContext 的最佳方法
- javascript - 加载 MediaWiki 网页,然后从中获取变量(node.js)
- custom-wordpress-pages - 我可以从插件外部调用插件的功能吗?
- github - Github API - 我如何在回购中查看文件的差异?
- r - 在 ArgonR 表中循环
- python - 如何解决 IndexError 以及如何将 for 循环中计算的 3 个数据保存到 array/.csv?
- tensorflow - 哪种 tensorflow 方法确实决定特定批次的示例供模型学习?
- flutter - Flutter json_serializable 5.0.0 不能与 auto_route 一起使用