| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Ruby: Общие вопросы > Синтаксический сахар |
| Автор: niksan 26.7.2010, 14:08 |
| @current_user = current_user_session && current_user_session.user Что означает данное выражение? |
| Автор: solenko 27.7.2010, 20:28 | ||
|
| Автор: source777 27.7.2010, 22:45 | ||
| solenko, в общем случае твой вариант не эквивалентен оригиналу, например, если current_user_session == false. niksan, для этой задачи мне больше нравится вариант: @current_user = current_user_session.user if current_user_session Однако, есть разница с @current_user = current_user_session && current_user_session.user Вот код, полностью эквивалентный твоему коду:
Добавлено через 2 минуты и 34 секунды P.S. Твой пример - это не синтаксический сахар, а наоборот - нецелевое использование оператора &&, снижающее читабельность кода. |
| Автор: fell 28.7.2010, 11:18 |
| вообще && эквивалентно and что бы присвоение произошло, нужно чтобы оба выражения были true. Вообще таких конструкций не припомню что то. Обычно используют || ~ or |
| Автор: source777 28.7.2010, 21:51 |
Фигушки, совсем не эквивалентно, как минимум у них приоритет разный, что в данном примере будет очень заметно, если тупо заменить && на and. |