Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
361eea79
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
361eea79
编写于
9月 13, 2013
作者:
R
Rashmi Yadav
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Removed doc of diff method [ci skip]
上级
e4d6a61c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
0 addition
and
38 deletion
+0
-38
guides/source/active_support_core_extensions.md
guides/source/active_support_core_extensions.md
+0
-38
未找到文件。
guides/source/active_support_core_extensions.md
浏览文件 @
361eea79
...
...
@@ -2673,44 +2673,6 @@ hash[:b][:d] == [3, 4] # => true
NOTE: Defined in
`active_support/core_ext/object/deep_dup.rb`
.
### Diffing
The method
`diff`
returns a hash that represents a diff of the receiver and the argument with the following logic:
*
Pairs
`key`
,
`value`
that exist in both hashes do not belong to the diff hash.
*
If both hashes have
`key`
, but with different values, the pair in the receiver wins.
*
The rest is just merged.
```
ruby
{
a:
1
}.
diff
(
a:
1
)
# => {}, first rule
{
a:
1
}.
diff
(
a:
2
)
# => {:a=>1}, second rule
{
a:
1
}.
diff
(
b:
2
)
# => {:a=>1, :b=>2}, third rule
{
a:
1
,
b:
2
,
c:
3
}.
diff
(
b:
1
,
c:
3
,
d:
4
)
# => {:a=>1, :b=>2, :d=>4}, all rules
{}.
diff
({})
# => {}
{
a:
1
}.
diff
({})
# => {:a=>1}
{}.
diff
(
a:
1
)
# => {:a=>1}
```
An important property of this diff hash is that you can retrieve the original hash by applying
`diff`
twice:
```
ruby
hash
.
diff
(
hash2
).
diff
(
hash2
)
==
hash
```
Diffing hashes may be useful for error messages related to expected option hashes for example.
NOTE: Defined in
`active_support/core_ext/hash/diff.rb`
.
### Working with Keys
#### `except` and `except!`
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录