fixed samples: wrong ?? operator to supported elvis ?:

This commit is contained in:
Sergey Chernov 2026-01-18 20:28:03 +03:00
parent 338dc00573
commit 8b94432f66
3 changed files with 37 additions and 2 deletions

View File

@ -94,7 +94,7 @@ m += "c" => 3
val [first, middle..., last] = [1, 2, 3, 4, 5] val [first, middle..., last] = [1, 2, 3, 4, 5]
// Safe Navigation and Elvis // Safe Navigation and Elvis
val companyName = person?.job?.company?.name ?? "Freelancer" val companyName = person?.job?.company?.name ?: "Freelancer"
``` ```
## 8. Standard Library Discovery ## 8. Standard Library Discovery

View File

@ -868,4 +868,39 @@ class OOTest {
assertEquals(44L, fn.invoke(scope, fn).toKotlin(s2)) assertEquals(44L, fn.invoke(scope, fn).toKotlin(s2))
assertEquals(45L, fn.invoke(s2, fn).toKotlin(s2)) assertEquals(45L, fn.invoke(s2, fn).toKotlin(s2))
} }
@Test
fun testToStringWithTransients() = runTest {
eval("""
class C(amount,@Transient transient=0) {
val l by lazy { transient + amount }
fun lock() {
if( transient < 10 )
C(amount).also { it.transient = transient + 10 }
else
this
}
}
println(C(1))
println(C(1).lock().amount)
println(C(1).lock().lock().amount)
""".trimIndent())
}
@Test
fun testToJsonString() = runTest {
eval("""
class C(amount,@Transient transient=0) {
val l by lazy { transient + amount }
fun lock() {
if( transient < 10 )
C(amount).also { it.transient = transient + 10 }
else
this
}
}
println(C(1))
println(C(1).lock().amount)
println(C(1).lock().lock().amount)
""".trimIndent())
}
} }

View File

@ -62,7 +62,7 @@ fun HomePage() {
var config = null var config = null
config ?= { timeout: 30 } // Assign only if null config ?= { timeout: 30 } // Assign only if null
val timeout = config?.timeout ?? 60 val timeout = config?.timeout ?: 60
println("Timeout is: " + timeout) println("Timeout is: " + timeout)
""".trimIndent(), """.trimIndent(),
""" """