Используя последний плагин Kotlin 1.3.10 из последней версии IntelliJ IDEA 2018.3, если я перевожу следующий код Java в Kotlin:
BufferedReader br = Files.newBufferedReader(Paths.get("filename"));
String line;
while ((line = br.readLine()) != null)
System.out.println(line);
Я получаю это:
val br = Files.newBufferedReader(Paths.get("filename"))
var line: String
while ((line = br.readLine()) != null)
println(line)
while ((line = br.nextLine()) != null)
- идиоматическая Java, но ее автоматический перевод приводит к неправильному синтаксису, потому что назначения в Kotlin не являются выражениями.
Является ли это известной ошибкой в переводчике Java-to-Kotlin?
Какой идиоматический синтаксис Kotlin эквивалентен приведенному выше коду Java?