Project

General

Profile

Actions

Feature #11761

closed

`Hash#default_set` and `Hash#default_proc_set`

Added by sawa (Tsuyoshi Sawada) almost 7 years ago. Updated almost 7 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:71794]

Description

I often want to assign a default value or proc to an existing hash h and chain method after it. The way I do it is:

Hash.new(default_value).merge(h)...
Hash.new{default_proc_value}.merge(h)...

It would be convenient if I can assign them to a hash directly, and Hash#default= and Hash#default_proc= are close to doing that, but they are actually not useful because the return value is not the receiver hash:

h.default = default_value; h...
h.default_proc = proc {default_proc_value}; h...

I wish there were methods Hash#default_set and Hash#default_proc_set that return the receiver hash:

h.default_set(default_value)...
h.default_proc_set{default_proc_value}...
Actions

Also available in: Atom PDF