fixed samples: wrong ?? operator to supported elvis ?:
This commit is contained in:
parent
338dc00573
commit
8b94432f66
@ -94,7 +94,7 @@ m += "c" => 3
|
||||
val [first, middle..., last] = [1, 2, 3, 4, 5]
|
||||
|
||||
// Safe Navigation and Elvis
|
||||
val companyName = person?.job?.company?.name ?? "Freelancer"
|
||||
val companyName = person?.job?.company?.name ?: "Freelancer"
|
||||
```
|
||||
|
||||
## 8. Standard Library Discovery
|
||||
|
||||
@ -868,4 +868,39 @@ class OOTest {
|
||||
assertEquals(44L, fn.invoke(scope, 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())
|
||||
}
|
||||
}
|
||||
@ -62,7 +62,7 @@ fun HomePage() {
|
||||
var config = null
|
||||
config ?= { timeout: 30 } // Assign only if null
|
||||
|
||||
val timeout = config?.timeout ?? 60
|
||||
val timeout = config?.timeout ?: 60
|
||||
println("Timeout is: " + timeout)
|
||||
""".trimIndent(),
|
||||
"""
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user