问题描述
我得到了一些函数:
private fun selectHometown() = File("data/towns.txt")
.readText()
.split("\n")
.shuffled()
.first()
如果我尝试使用从该函数获得的 2 个值来获取或打印一些字符串,第一个值就会消失。例如:
println("${selectHometown() ${selectHometown() }")
只会打印一个城市名称,而我希望打印两个。我猜这个问题与 Kotlin 中的字符串连接有关。当然,我可以用不同的方式得到想要的结果,但我想知道为什么这个方法不起作用。
解决方法
Windows 终止行的方式是使用“\r\n”,因此将其用作分隔符:
private fun selectHometown() = File("data/towns.txt")
.readText()
.split("\r\n")
.shuffled()
.first()
println("${selectHometown()} ${selectHometown()}")