前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kotlin 函数式编程之 Lambda 与 高阶函数《Kotlin 极简教程》Kotlin 开发者社区

Kotlin 函数式编程之 Lambda 与 高阶函数《Kotlin 极简教程》Kotlin 开发者社区

作者头像
一个会写诗的程序员
发布2018-12-05 11:33:35
5430
发布2018-12-05 11:33:35
举报

HigherOrderFunctions&Lambda.gif

........

摘自:

《Kotlin 极简教程》

源代码:

代码语言:javascript
复制
package com.light.sword.coursera

val lengthFun = fun(s: String): Int = s.length //lengthFun is a fun variable
val isOddFun = fun(x: Int): Boolean = x % 2 != 0

fun compose(length: (String) -> Int, isOdd: (Int) -> Boolean): (String) -> Boolean {
    return { x -> isOdd(length(x)) }
}

fun main(args: Array<String>) {
    val words = listOf("Hello", "U", "Kotlin", "Java")
    val result = words.filter(compose(lengthFun, isOddFun)) // Use lengthFun directly
    println(result) // [Hello, U]
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.11.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 《Kotlin 极简教程》
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档