From: shevegen@... Date: 2017-08-12T04:01:41+00:00 Subject: [ruby-core:82357] [Ruby trunk Feature#13807] A method to filter the receiver against some condition Issue #13807 has been updated by shevegen (Robert A. Heiler). I have no particular pro or con opinion about your proposal, but I just want to say that the last variant is not very pretty. The lonely guy operator staring at the dot before him is pressed hard against the wall behind him there, the "}" character! ---------------------------------------- Feature #13807: A method to filter the receiver against some condition https://bugs.ruby-lang.org/issues/13807#change-66150 * Author: sawa (Tsuyoshi Sawada) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- I frequently see code that uses some value if that value satisfies a certain condition, and something else otherwise. ```ruby a.some_condition ? a : b ``` And in most cases, the value of `a` is non-nil when the condition is satisfied. I propose to have a method, perhaps named `verify`, which would implemented to be equivalent to this definition: ```ruby class Object def verify self if yield(self) end end ``` Then, we can write the expression above (assuming `a` is non-nil when the condition is satisfied) like this: ```ruby a.verify{|a| a.some_condition} || b ``` Perhaps it would also be useful to do something like: ```ruby a.verify{|a| a.some_condition}&.chaining_of_more_methods ``` -- https://bugs.ruby-lang.org/ Unsubscribe: