使用 lambda 的運算子
如果你有:
val r = Random(233)
infix inline operator fun Int.rem(block: () -> Unit) {
if (r.nextInt(100) < this) block()
}
你可以編寫以下類似 DSL 的程式碼:
20 % { println("The possibility you see this message is 20%") }
如果你有:
val r = Random(233)
infix inline operator fun Int.rem(block: () -> Unit) {
if (r.nextInt(100) < this) block()
}
你可以編寫以下類似 DSL 的程式碼:
20 % { println("The possibility you see this message is 20%") }