https://kotlinlang.org logo
Title
f

funrep

06/20/2017, 11:18 AM
How do I write this kind of pattern in Kotlin?
while ((line = inp.readLine()) != null) {
            result.append(line)
        }
d

diesieben07

06/20/2017, 11:21 AM
funrep: Very idiomatic way:
generateSequence { inp.readLine() }.forEach { line -> result.append(line) }
f

funrep

06/20/2017, 11:22 AM
nice that looks good, thanks!
d

diesieben07

06/20/2017, 11:22 AM
Or, with references:
generateSequence(inp::readLine).forEach(result::append)
(Doesn't work)
v

voddan

06/20/2017, 11:37 AM
or
File("").forEachLine { ... }
👍 5
or
File("").readLines()
👍 1
This whole
result.append(line)
looks very unclean, should be
map
at least