[ruby-core:95823] [Ruby master Feature#16341] Proposal: Set#to_proc and Hash#to_proc
From:
non.dmitriy@...
Date:
2019-11-12 20:12:55 UTC
List:
ruby-core #95823
Issue #16341 has been updated by Nondv (Dmitry Non).
shan (Shannon Skipper) wrote:
> This already works!
I can't believe I'm so oblivious :D
----------------------------------------
Feature #16341: Proposal: Set#to_proc and Hash#to_proc
https://bugs.ruby-lang.org/issues/16341#change-82652
* Author: Nondv (Dmitry Non)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
----------------------------------------
``` ruby
class Set
def to_proc
-> (x) { include?(x) } # or method(:include?).to_proc
end
end
```
Usage:
```ruby
require 'set'
banned_numbers = Set[0, 5, 7, 9]
(1..10).reject(&banned_numbers) # ===> [1, 2, 3, 4, 6, 8, 10]
```
**UPD**
also for hash:
```ruby
class Hash
def to_proc
->(key) { self[key] }
end
end
dogs = ['Lucky', 'Tramp', 'Lady']
favourite_food = { 'Lucky' => 'salmon', 'Tramp' => 'pasta', 'Lady' => 'pasta' }
food_to_order = dogs.map(&favourite_food)
```
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>