0035 Safe_navigation

Réduire le coup du "1 billion dollar mistake"!

Ruby 2.3 à introduit le « safe navigation operator » &.. Il permet de chainer les méthodes sans risquer un undefined method ‘xx’ for nil (NoMethodError). Ce code est presque équivalent à la version avec &&

0035-safe_navigation_1.png

Presque équivalent car le « safe navigation operator » court-circuite l’appel de la méthode seulement si le receveur est nil. Or false n’est pas nil!

0035-safe_navigation_2.png

Quand on chaine plusieurs méthodes, il faudra le mettre à chaque appel si l’on commence a l’utiliser (dans 99% des cas).

0035-safe_navigation_3.png

Le lien vers la documentation Ruby du safe navigation operator.