@JhonnyF

Как работает метод?

Доброго времени суток!
Объясните, пожалуйста, на пальцах, как работает данный метод?
Дело в том, что я на CodeWars решил задачку, по условию которой дается стринг, из которого нужно вычленить слово, вес которого больше всех.
Вес вычисляется, исходя из суммы букв в его составе, у букв он зависит от их номера в алфавите, т.е. a - 1, b - 2 и т.д., тобишь если у нас aa - это 2 балла, ab - 3 и т.д.
У меня получилась простыня на 40 строк, но в решениях есть вот такой вот компактный пример кода, и я не понимаю, как он работает:
fun high(str: String): String {
        return str.split(' ').maxByOrNull{ it.sumBy{ it - 'a'} }!!
    }


Можете, пожалуйста, на пальцах объяснить, как { it.sumBy{ it - 'a'} возвращает самое весомое слово?
Залезал в доки котлина, там просто описывается сам метод, но не вот эта чудная лямбда.
Заранее спасибо!
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
Вычитает из каждого символа в слове 'a' и суммирует.
Таким образом, буквы будут иметь такие "веса":
a- 0
b - 1
c - 2
и так далее
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы