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

  • 关于我们
  • 免责声明