gpt4 book ai didi

Scala 单元类型

转载 作者:行者123 更新时间:2023-12-02 04:29:19 24 4
gpt4 key购买 nike

我使用opencsv来解析csv文件,我的代码是

while( (line = reader.readNext()) != null ) { .... }

我收到编译器警告:

 comparing values of types Unit and Null using `!=' will always yield true
[warn] while( (aLine = reader.readNext()) != null ) {

我应该如何执行while循环?

最佳答案

Scala 中赋值表达式的类型为 Unit。这就是编译器发出警告的原因。

Scala 中有一个很好的习惯用法可以避免 while 循环:

val iterator = Iterator.continually(reader.readNext()).takeWhile(_ != null)

这为您提供了一个迭代器,可以覆盖 reader.readNext 返回的任何内容。

continually 方法返回一个“无限”迭代器,takeWhile 采用该迭代器的前缀,直到但不包括第一个 null。

(Scala 2.8)

关于Scala 单元类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3062804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com