2013-01-18 92 views
0

非常新的紅寶石,並找不到太多的網上因此這個問題。 ruby中有沒有像java這樣的檢查?目前,我只是在做先決條件在紅寶石檢查

if var_a.nil? || var_b.nil? || var_c.nil? 
    raise "var_a, var_b and var_c cannot be nil" 
end 

這一點我覺得是檢查前置條件

+0

它不應該是''var_a.nil? –

+0

@WaleedKhan你是對的,昨晚沒有多少睡眠:) – noMAD

+0

什麼是Java'checkNotNull',爲什麼它和你在這裏做的不一樣? –

回答

1

的一個非常糟糕的方式你可以寫這樣的:

raise "var_a should not be nil" if var_a.nil? 

但真的不多,可以在提高代碼簡單。上面的大部分代碼仍然是錯誤信息,所以對我來說似乎很好。

+0

實際上這種方式似乎更好,因爲它側重於變量,謝謝! – noMAD

1

可以縮短到這一點:

raise "var_a, var_b and var_c cannot be nil" if [var_a, var_b, var_c].any?(&:nil?)