2016-03-18 69 views
2

C#有一個空的條件運算符是這樣的紅寶石空,條件運算

SomeObject?.SomeParam 

如果SomeObject爲null,則表達式的結果將是空的,而不是拋出一個空引用異常。在Ruby中是否存在這樣的事情?

+0

你說得對。我之前試過尋找這個,但找不到任何東西。對於那個很抱歉。 – Nashenas

回答

5

是的。使用&.來調用方法。

some_value&.some_method 

如果some_valuenil,然後some_method將不會被執行,並且表達的返回值將是nil。否則,將調用some_method,與.一起調用。

+0

您是否有鏈接到&&。文檔? – emlai

+0

不,我查了http://ruby-doc.org/core-2.3.0/doc/syntax/calling_methods_rdoc.html,但似乎官方文檔還沒有準備好。 – sawa

+3

http://docs.ruby-lang.org/zh/2.3.0/NEWS.html簡要描述 – Stefan

0

如果您使用的是Rails或ActiveSupport,則有try,但Ruby stdlib中沒有任何內容。

+0

「安全導航操作符」非常新 - 它已添加到Ruby 2.3中 – Stefan