Project

General

Profile

Feature #16341

Updated by Nondv (Dmitry Non) almost 2 years ago

``` 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) 
 ```

Back