logo
  • 教程列表
  • SO官方文檔
  • DSL 建築
    • 構建 DSL 的 Infix 方法
    • 覆蓋呼叫方法來構建 DSL
    • 使用 lambda 的運算子
    • 使用 lambdas 擴充套件
  1. StackOverflow 文件
  2. Kotlin 教程
  3. DSL 建築
  4. 使用 lambda 的運算子

使用 lambda 的運算子

Created: November-22, 2018

如果你有:

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%") }
  • 使用 lambdas 擴充套件
  • 覆蓋呼叫方法來構建 DSL

Copyright © 2018. All right reserved

tastones.com 备案号:鲁ICP备18045372号-1

  • 關於本站
  • 免責聲明