Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用kotlin中的高阶函数初始化类_Kotlin_Higher Order Functions_Http4k - Fatal编程技术网

使用kotlin中的高阶函数初始化类

使用kotlin中的高阶函数初始化类,kotlin,higher-order-functions,http4k,Kotlin,Higher Order Functions,Http4k,Kotlin中的高阶函数: 我有一个类接受更高阶的函数: data class Data(id: String) class MyClass( private val getData: (find1: (String) -> Data?, find2: (String) -> Data?) -> (Request) -> Either<HttpError, Data> ) 如何从MyClass类调用此函数: repo.kt override fu

Kotlin中的高阶函数:

我有一个类接受更高阶的函数:

data class Data(id: String)

class MyClass(
    private val getData: (find1: (String) -> Data?, find2: (String) -> Data?) -> (Request) -> Either<HttpError, Data>
) 
如何从MyClass类调用此函数:

repo.kt

override fun find1(value: String): Data? {
}
1.kt

override fun find1(value: String): Data? {
}

class MyClass(repo: Repo, repo1: Repo1, private val getData: (find1: (String) -> Data?, find2: (String) -> Data?) -> (Request) -> Either<HttpError, Data>)
{
    getData { id -> repo.find1(id) ?????}(request)
}
override fun find1(值:字符串):数据?{
}
类MyClass(repo:repo,repo1:repo1,private val getData:(find1:(字符串)->数据?),find2:(字符串)->数据?->(请求)->
{
getData{id->repo.find1(id)??}(请求)
}

使用成员函数参考:

val obj=MyClass(getData=Data::getData)
override fun find1(value: String): Data? {
}
override fun find1(value: String): Data? {
}

class MyClass(repo: Repo, repo1: Repo1, private val getData: (find1: (String) -> Data?, find2: (String) -> Data?) -> (Request) -> Either<HttpError, Data>)
{
    getData { id -> repo.find1(id) ?????}(request)
}