Здравствуйте, enji, Вы писали:
M>>[code=scala]
M>>for (user <- userOption) {
M>> doSmth(user);
M>>}
M>>[/code]
E>и в чем тут профит? Вместо эксепшена в строке user->doSmth(), doSmth молча не будет выполнено, что выстрелит где-то позже и в другом месте...
Пожалуйста: doSmth(userOption.get). Здесь get может вылетить NoSuchElementException.
E>опять же, сравни с
E>E>val user = userDao.getUser(userId);
E>if (user)
user->>doSmth();
E>
E>по строчкам — тоже самое, по символам — короче
E>Если добавить чуток сахара, можно было бы писать user?.doSmth(), как в груви. И тут кстати user — обычная ссылка, а не Option<User>
Можно так: userOption.foreach(doSmth)