[#68478] Looking for MRI projects for Ruby Google Summer of Code 2015 — Tony Arcieri <bascule@...>
Hi ruby-core,
10 messages
2015/03/10
[#68480] Re: Looking for MRI projects for Ruby Google Summer of Code 2015
— SASADA Koichi <ko1@...>
2015/03/10
I have.
[#68549] Re: Looking for MRI projects for Ruby Google Summer of Code 2015
— SASADA Koichi <ko1@...>
2015/03/17
I sent several ideas on previous, mail, but they are seems rejected?
[#68493] [Ruby trunk - Feature #10532] [PATCH] accept_nonblock supports "exception: false" — nobu@...
Issue #10532 has been updated by Nobuyoshi Nakada.
5 messages
2015/03/11
[#68503] Re: [Ruby trunk - Feature #10532] [PATCH] accept_nonblock supports "exception: false"
— Eric Wong <normalperson@...>
2015/03/12
Committed as r49948.
[#68504] Re: [Ruby trunk - Feature #10532] [PATCH] accept_nonblock supports "exception: false"
— Nobuyoshi Nakada <nobu@...>
2015/03/12
On 2015/03/12 12:08, Eric Wong wrote:
[#68506] Seven stacks (and two questions) — Jakub Trzebiatowski <jaktrze1@...>
The Ruby Hacking Guide says that Ruby has窶ヲ seven stacks. Is it an implementation choice (and it could be implemented with one stack), or is there really a need for seven logical stacks? For example, Lua has one stack, and still closures with upvalues are totally possible (it窶冱 like Ruby窶冱 blocks that can reference local variables of their enclosing method, but it works for any function with any upvalues).
5 messages
2015/03/12
[#68520] Possible regression in 2.1 and 2.2 in binding when combined with delegate? — Joe Swatosh <joe.swatosh@...>
# The following code
3 messages
2015/03/14
[#68604] GSOC project Cross-thread Fiber support — surya pratap singh raghuvanshi <oshosurya@...>
- *hi i am a third year computer science student interested in working
6 messages
2015/03/22
[#68606] Re: GSOC project Cross-thread Fiber support
— Tony Arcieri <bascule@...>
2015/03/22
Hi Surya,
[#68619] Re: GSOC project Cross-thread Fiber support
— surya pratap singh raghuvanshi <oshosurya@...>
2015/03/23
hi tony,
[ruby-core:68563] [Ruby trunk - Feature #10984] Hash#contain? to check whether hash contains other hash
From:
hi@...
Date:
2015-03-19 14:20:15 UTC
List:
ruby-core #68563
Issue #10984 has been updated by Olivier Lacan.
Erik Michaels-Ober wrote:
> I agree that `#include?` is a more consistent and appropriate name for this method. I would prefer to see that change introduced in Ruby 3.0 than settle for this suboptimal change in Ruby 2.
From the many conversations I've had with folks after [publishing the original proposal for this](http://olivierlacan.com/posts/proposal-for-a-better-ruby-hash-include/) it seemed that my expectations for `Hash#include?`'s behavior didn't match many (if not most) people's expectations so it seemed unlikely that such a breaking change would ever be favored.
I don't think a brand new method would be such a bad idea in 2.3 because it would allow for a smoother upgrade path. People could start using `Hash#contain?` when 2.3 ships and then the internal implementation of `Hash#include?` could be swapped in 3.0 if that is deemed a good idea later on.
----------------------------------------
Feature #10984: Hash#contain? to check whether hash contains other hash
https://bugs.ruby-lang.org/issues/10984#change-51878
* Author: Olivier Lacan
* Status: Open
* Priority: Normal
* Assignee:
----------------------------------------
Comparing hashes seems like a common practice but there currently isn't a method to ask a
hash instance whether it includes another hash instance.
The most intuitive method to reach for would be `Hash#include?` but it is in fact an alias to `Hash#has_key?`
What I'm looking for can be achieved with:
~~~
class Hash
def contain?(other)
self.merge(other) == self
end
end
~~~
Here's a simple demo of `#contain?` in use:
~~~
{ a: true, b: false }.contain?({ a: true})
# => true
{ a: true, b: false }.contain?({ b: false})
# => true
{ a: true, b: false }.contain?({ a: false})
# => false
{ a: true, b: false }.contain?({ c: true})
# => false
~~~
One important note is that this method is *not checking for nested hash matches*.
This may need to be addressed when the parameters include a nested hash perhaps.
Thanks to Terence Lee's help, nobu created a patch for this feature last year.
I've only modified the name of the method from [his original patch](https://gist.github.com/nobu/dfe8ba14a48fc949f2ed) and attached it to this issue.
---Files--------------------------------
Hash#contain_.patch (2.22 KB)
--
https://bugs.ruby-lang.org/