有没有优雅的方法可以在 kotlin 和箭头中将 List 变成 NonEmptyList?
Are there elegant ways to turn a List into a NonEmptyList in kotlin and arrow?
fun main() {
val list = listOf(1, 2, 3, 4, 5)
if (list.isNotEmpty()) {
Nel(list[0], list.subList(1, list.lastIndex))
}
}
根据arrow文档,似乎可以通过Semigroup
或Monad binding
来完成。
但是,没有代码将 List
替换为 NonEmptyList
.
有没有更好的方法可以在不使用 subList
的情况下将 List
替换为 NonEmptyList
?
有一个配套函数 fromList
return 和 Option<NonEmptyList>
或者如果您确定使用 fromListUnsafe
:
val list = listOf(1, 2, 3, 4, 5)
val nelistOption = NonEmptyList.fromList(list)
val nelist = NonEmptyList.fromListUnsafe(list)
fun main() {
val list = listOf(1, 2, 3, 4, 5)
if (list.isNotEmpty()) {
Nel(list[0], list.subList(1, list.lastIndex))
}
}
根据arrow文档,似乎可以通过Semigroup
或Monad binding
来完成。
但是,没有代码将 List
替换为 NonEmptyList
.
有没有更好的方法可以在不使用 subList
的情况下将 List
替换为 NonEmptyList
?
有一个配套函数 fromList
return 和 Option<NonEmptyList>
或者如果您确定使用 fromListUnsafe
:
val list = listOf(1, 2, 3, 4, 5)
val nelistOption = NonEmptyList.fromList(list)
val nelist = NonEmptyList.fromListUnsafe(list)