Project

General

Profile

Bug #12412

Updated by dsferreira (Daniel Ferreira) over 8 years ago

I wonder if we couldn't extend the safe navigation operator to work with any object rather than just nil. 

 I tend to still use this kind do a lot of code in some scenarios, specially when I work with objects with dynamic interfaces or arguments with different possible object types: like this: 

 ~~~ ruby 
 class Foo 
    def bar(baz) 
        if baz.respond_to?(:qux) 
           return baz.qux 
        end 
        'whatever' 
    end 
 end 
 ~~~ 

 What if we extend the safe navigation operator to work with any kind of object? 
 If it doesn't respond to the method it would return nil like this: 

 ~~~ ruby 
 class Foo 
   def bar(baz) 
     baz&.qux || 'whatever' 
   end 
 end 
 ~~~

Back