Вы не используете для понимания для этого. Да, для циклов, которые являются обязательными конструкциями, можно использовать, но в этом случае вы будете использовать .
Объяснение: для понимания - это то, что превращает M[A]
в M[B]
. Для String
M
будет Seq
(или, возможно, IndexedSeq
), а Seq
не является Int
, а также Int
не параметризовано.
Для такого рода задач вы должны использовать foldLeft
или foldRight
. Эти конструкции могут полностью преобразовать M[A]
во что-то другое. См. Также сущность шаблона итератора , который обеспечивает более общее решение (и всякий раз, когда вы читаете «общие», думайте, что «требуется дополнительная настройка»).
Конечно, самый простой способ - "Hello".product.toInt
.