Чем хорош AspectJ? [закрыто]

Самый надежный способ для общего хэша - спросить, есть ли у него ключ:

myvar = h.has_key?('MY_VAR') ? h['MY_VAR'] : 'default'

Если вам не нужны значения nil или false (т.е. вы хотите обрабатывать их так же, как «не существует»), тогда подход undur_gongor хорош (это также должно быть хорошо, когда h есть ENV):

myvar = h['MY_VAR'] || 'foobar'

И если вы хотите разрешить nil, чтобы быть в вашем хэше, но притворяться, что его нет (т.е. значение nil совпадает с «не существует»), позволяя false в вашем хэше:

myvar = h['MY_VAR'].nil?? 'foobar' : h['MY_VAR']

In конец действительно зависит от вашего точного намерения, и вы должны выбрать подход, который соответствует вашим намерениям. Выбор между if/else/end и ? :, конечно, является вопросом вкуса и «кратким», не означает «наименьшее количество символов», поэтому не стесняйтесь использовать тройной или if блок по желанию.

37
задан True Soft 13 December 2010 в 20:23
поделиться