我想尽可能简洁(但清楚地)将 a 转换List<Triple<String, String, String>
为 a Triple<List<String>, List<String>, List<String>>
。
例如,假设执行转换的方法被称为turnOver
,我希望:
val matches = listOf(
Triple("a", "1", "foo"),
Triple("b", "2", "bar"),
Triple("c", "3", "baz"),
Triple("d", "4", "qux")
)
val expected = Triple(
listOf("a", "b", "c", "d"),
listOf("1", "2", "3", "4"),
listOf("foo", "bar", "baz", "qux")
)
matches.turnOver() == expected // true
如何编写一个简洁、清晰、可能具有功能性的turnOver
函数?
可以使用 Arrow-Kt,我已经将它作为项目依赖项。