【发布时间】:2018-08-27 21:43:22
【问题描述】:
我有一个文本文件,其中包含遵循替代模式的行,例如:
name: SomeName
counterA: 0, counterB: 0, counterC: 0
name: SomeNameB
counterA: 1, counterB: 2, counterC: 3
...
我想编写一个简单的解析器,将 SameName 和计数器 A 到 C 推送到一个新对象中。
所以任务基本上是总是一起处理两条行。
我从这段代码开始:
fun readFileAsLinesUsingReadLines(fileName: String): List<String> = File(fileName).readLines()
fun main(args: Array<String>) {
val lines = readFileAsLinesUsingReadLines("Whatever")
for (i in (0 .. lines.size-1 step 2)) {
println(lines[i]+lines[i+1])
}
}
是的,打印出来的
name: SomeName counterA: 0, counterB: 0, counterC: 0
然后我可以进一步解析。
但我发现(0 .. lines-size-1 step) 的用法不是很优雅。
是否有更优雅或“更多 kotlin”的方式来提取这些信息?
【问题讨论】: