切片与提取物!导轨5

我今天正在对旧代码进行一些审查,这出现了,如果提前道歉可能是一个愚蠢的问题,但是切片和提取之间有什么真正的区别!函数(对于哈希),我查看了文档,它们之间没有明显区别(至少对我而言):

  • Hash#extract!
  • Hash#slice

也没有在社区上找到任何东西,提前谢谢。

回答

slice方法返回一个包含所选元素的新哈希。这将保留原始对象。

extract!方法从原始散列中删除这些条目并返回提取的元素。这会改变原始对象。

注意:在许多情况下,Ruby 方法以!更改它们被调用的对象结尾,而不是类似的方法,这些方法没有返回新对象的扩展名。

差异需要仔细阅读文档,其中extract!方法描述为:

删除并返回与给定键匹配的键/值对。

这里的“删除”是区别。


以上是切片与提取物!导轨5的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>