当前位置: 首页 > 知识库问答 >
问题:

Kotlin将函数列表发送到

江正德
2023-03-14

如何使用Kotlin声明并调用以函数列表为参数的函数。我在单个函数的函数中使用了参数,但是如何在函数列表中使用参数呢?

这个问题展示了如何将一个函数发送给一个函数:Kotlin:如何将一个函数作为参数传递给另一个函数?对于一系列函数,最好的方法是什么?

共有1个答案

郑宏朗
2023-03-14

您可以使用vararg声明它。在这个例子中,我声明了一个可变数量的函数,这些函数接受并返回String

fun takesMultipleFunctions(input: String, vararg fns: (String) -> String): String =
    fns.fold(input){ carry, fn -> fn(carry) }

fun main(args: Array<String>) {
    println(
        takesMultipleFunctions(
            "this is a test", 
            { s -> s.toUpperCase() }, 
            { s -> s.replace(" ", "_") }
        )
    )
    // Prints: THIS_IS_A_TEST
}

或者同样的事情,作为列表

fun takesMultipleFunctions(input: String, fns: List<(String) -> String>): String =
    fns.fold(input){ carry, fn -> fn(carry) }

fun main(args: Array<String>) {
    println(
        takesMultipleFunctions(
            "this is a test", 
            listOf(
                { s -> s.toUpperCase() }, 
                { s -> s.replace(" ", "_") }
            )
        )
        // Prints: THIS_IS_A_TEST
    )
}
 类似资料:
  • 我需要关于将字符串列表从C函数发送到TCL调用函数的指导。在swig和函数返回值的帮助下,我能够将C函数中的整型浮点值列表发送回TCL程序。但我无法将swig中的“test1”、“test2”等字符串列表连同返回值一起发送回TCL进程。任何关于这方面的指导/指针都会很好。 工作的代码是这样的 Swig界面看起来像 TCL呼叫就像 它以列表的形式给出结果输出 但当我尝试在字符串中执行类似操作时,TC

  • 我有一个无法更改的外部接口: 我需要开始使用数据,并将其发送到< code>flow。数据顺序是必须的。我想要一个冷< code >流,但是我找不到一个具有< code>emit函数的冷< code >流版本,所以我使用热< code >流重放设置为最大值作为解决方法。这是我的第一次尝试: 不幸的是,它不起作用,因为 函数是一个挂起的函数。但是,这是一个外部接口,我无法添加挂起修饰符。我也试图做这

  • 问题内容: 我在这个jar中制作了一个名为 GetOfferSoftware的* jar 文件,我有一个名为 Offer的 Main类, 并且该Offer类包含以下功能 *** 现在我想从 另一个 与GetOfferSoftware jar不相关的 Java程序 调用此函数,所以我的问题是如何从另一个Java类访问参数并将参数发送到getOffer()函数。伙计们先谢谢 问题答案: 为了使用另一个

  • seleccion“对象它是一个实体,具有我从Ajax发送的JSON的一些属性,”seleccionados“是一个列表,保存接收到的数组,但当我发送它时,obj参数总是返回一个空对象,Ajax发送错误函数,我认为问题是我在向对象发送数组,但我不知道如何解决它 选择对象模型:

  • Swoole 除了网络通信相关的函数外,还提供了一些获取系统信息的函数供PHP程序使用。 swoole_set_process_name() 用于设置进程的名称。修改进程名称后,通过ps命令看到的将不再是php your_file.php,而是设定的字符串。 此函数接受一个字符串参数。 此函数与PHP5.5提供的cli_set_process_title功能是相同的。但swoole_set_pro

  • 在 Less 中一个变量也可表示一个列表,列表用 , 分隔开, 类似于其他语言中的数组,该章节的函数就是为了操作列表所产生的,比如返回列表长度、获取指定元素的等。 4.1 length 函数 函数作用:返回值列表中的元素个数。 参数:list 用逗号或空格分隔的值列表。 返回值: 列表中元素的整数。 语法: length(list) => value 输入代码 @list: "banana", "