Issue #10177 has been updated by gogo tanaka.


@Robert A. Heiler
@First Last
@Jeremy Evans

Thank you so much for replying. I could acquire new point of view. I really appreciate it.

I got your point why has_key? is better than key?.

As First Last said, 

> So hash.key? reads, "hash, are you a key?"

does make sense for me.

Through my thinking for some time, I came to the conclusion that has_key? is better than key? too

But next issue is, as Jeremy Evans said 

>  the backwards compatibility cost of deprecating then removing either has_key? or key? outweighs the benefit of removing one and standardizing on the other.

In my opinion, removing one and standardizing on the other at Ruby2.2.x is painful.

But it's better to do that in the future, so we start to deprecate either one.

Thank you. gogo.

 

----------------------------------------
Feature #10177: Hash#has_key? and Hash#has_value? should be deprecated
https://bugs.ruby-lang.org/issues/10177#change-48892

* Author: gogo tanaka
* Status: Open
* Priority: Normal
* Assignee: 
* Category: lib
* Target version: 
----------------------------------------
I referred to this Matz's remark.

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/43765

And I agree with him, I supposed `Hash#has_key?` should be preferred over `Hash#key?`, 

so I replaced all of `Hash#has_key?` and `Hash#has_value?` in `lib/*` with `Hash#key?` and `Hash#value?` 

---Files--------------------------------
Replace_Hash#has_something.PATCH (20.4 KB)


-- 
https://bugs.ruby-lang.org/