Недавно я увидел некоторый код, похожий на этот код:
val x: Any = "a"
val y = x.## // y: Int = 97
Ну, нормально, результат - это просто значение ASCI 'a', но давайте взглянем на
List(1,2).## // Int = 985731359
List(1,2).toString.## // Int = 1063384434
Моя IDE рассказывает о '##', что это "Синтетическая функция". Итак, что делает ## и что такое синтетическая функция?