Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
fun String.shout() = "${uppercase()}!"
fun main() {
val s = "hi"
println(s.shout())
println(s)
}HI! hi
- Ждать
HI! HI!: считать, чтоshoutменяет строку, у которой её вызвали. Она лишь возвращает новую строку, а вsостаётсяhi. - Ждать ошибки компиляции: считать, что функции можно добавлять только своим классам. Расширение добавляет
shoutкString, не открывая его.
- Как сделать, чтобы после вызова в
sоказалосьHI!? - На что указывает
thisвнутриshout?