💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом задании верен только один вариант. Фрагменты относятся к Scala 3; внешняя библиотека названа прямо в коде или условии.
Вопрос 4 из 20
В контракте темы «Отсутствие значения» фрагмент вынесли из локальной функции в общий модуль и добавили новый вариант входных данных. Какой анализ пригоден для публичного API?
Опираться на семантику «`map` и `flatMap` позволяют последовательно строить вычисление в одном контексте, прекращая цепочку на `None`, `Left` или `Failure`», но отдельно проверять ограничение «вызов `.get` возвращает риск исключения и уничтожает преимущество явного моделирования отсутствия».
Опираться на семантику «`Option` показывает возможное отсутствие значения: `Some` содержит данные, `None` не содержит их», но отдельно проверять ограничение «смешивание разных контекстов без явного преобразования создаёт вложенные типы и усложняет обработку ошибок».
Опираться на семантику «`Option` показывает возможное отсутствие значения: `Some` содержит данные, `None` не содержит их», но отдельно проверять ограничение «успешная обработка одного значения подтверждает совместимость всех вариантов модели».
Опираться на семантику «`Option` показывает возможное отсутствие значения: `Some` содержит данные, `None` не содержит их», но отдельно проверять ограничение «вызов `.get` возвращает риск исключения и уничтожает преимущество явного моделирования отсутствия».
Опираться на семантику «`Either[L, R]` хранит либо ошибку слева, либо успешное значение справа и по умолчанию преобразует правую сторону», но отдельно проверять ограничение «сведение всех ошибок к строке теряет структуру, код причины и возможность безопасного автоматического решения».
Вопрос 9 из 20
В контракте темы «Ошибки как данные» какой вариант не теряет существенную часть технической картины?
`Either[L, R]` хранит либо ошибку слева, либо успешное значение справа и по умолчанию преобразует правую сторону. При этом учитывать: сведение всех ошибок к строке теряет структуру, код причины и возможность безопасного автоматического решения.
`Option` показывает возможное отсутствие значения: `Some` содержит данные, `None` не содержит их. При этом учитывать: вызов `.get` возвращает риск исключения и уничтожает преимущество явного моделирования отсутствия.
`Either[L, R]` хранит либо ошибку слева, либо успешное значение справа и по умолчанию преобразует правую сторону. При этом учитывать: смешивание разных контекстов без явного преобразования создаёт вложенные типы и усложняет обработку ошибок.
`Either[L, R]` хранит либо ошибку слева, либо успешное значение справа и по умолчанию преобразует правую сторону. При этом учитывать: результат одного измерения можно считать устойчивой характеристикой производительности.
`Try` переводит обычное синхронное исключение из группы `NonFatal` в `Failure`, а успешный результат — в `Success`. При этом учитывать: сведение всех ошибок к строке теряет структуру, код причины и возможность безопасного автоматического решения.