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
在kotlin和arrow中是否有优雅的方法将列表转换为非空列表?_Kotlin_Arrow Kt - Fatal编程技术网

在kotlin和arrow中是否有优雅的方法将列表转换为非空列表?

在kotlin和arrow中是否有优雅的方法将列表转换为非空列表?,kotlin,arrow-kt,Kotlin,Arrow Kt,根据arrow文档,它似乎可以通过半群或Monad绑定来实现。 但是,没有代码可以用非空列表替换列表 有没有更好的方法可以在不使用子列表的情况下将列表替换为非空列表?有一个附带函数可以返回一个选项,或者如果您确定使用fromListUnsafe: fun main() { val list = listOf(1, 2, 3, 4, 5) if (list.isNotEmpty()) { Nel(list[0], list.subList(1, list.las

根据arrow文档,它似乎可以通过半群或Monad绑定来实现。 但是,没有代码可以用非空列表替换列表


有没有更好的方法可以在不使用子列表的情况下将列表替换为非空列表?

有一个附带函数可以返回一个选项,或者如果您确定使用fromListUnsafe:

fun main() {
    val list = listOf(1, 2, 3, 4, 5) 

    if (list.isNotEmpty()) {
        Nel(list[0], list.subList(1, list.lastIndex))
    }
}
val list = listOf(1, 2, 3, 4, 5)

val nelistOption = NonEmptyList.fromList(list)

val nelist = NonEmptyList.fromListUnsafe(list)