切片与提取!导轨 5

问题描述 投票:0回答:1

我今天对旧的代码部分进行了一些审查,就出现了这种情况。 这可能是一个愚蠢的问题,如果是这样,我提前道歉,但是切片和提取之间有什么真正的区别吗?函数(用于哈希)? 我查看了文档,它们之间没有明显的区别(至少对我来说):

我在“社区”上也没有找到任何内容。预先感谢。

ruby ruby-on-rails-5 ruby-hash
1个回答
6
投票

slice
方法返回包含所选元素的new Hash。这保留了原始对象。

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

注意:在许多情况下,以

!
结尾的 Ruby 方法会更改它们所调用的对象,这与没有返回新对象的扩展名的类似方法不同。

差异需要仔细阅读文档,其中

extract!
方法描述为:

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

这里的“删除”就是差异化因素。

© www.soinside.com 2019 - 2024. All rights reserved.