Co to są puzzlery?

Puzzlery to podchwytliwe programistyczne wyzwania, z często zaskakującymi odpowiedziami. Pokazują, jak złe praktyki mogą prowadzić do problemów.

Przykładowe puzzlery

Kolejność

fun main() { val x: Int? = 2 val y: Int = 3 val sum = x?:0 + y println(sum) }

Co zostanie wydrukowane?

a) 3

b) 5

c) 2

d) 0

Pokaż odpowiedź i wyjaśnienie

Kolejność

open class C class D: C() fun C.foo() = "c" fun D.foo() = "d" fun printFoo(c: C) { println(c.foo()) } fun main() { printFoo(D()) }

Co zostanie wyświetlone?

a) Doesn't compile

b) Runtime error

c) c

d) d

Pokaż odpowiedź i wyjaśnienie