2016-04-23 25 views
0

我的代码如下:斯卡拉如何检查单位的平等?

myBuffer = myInput.read() 
if (!myBuffer.!=(-1)) { 
    return -1 
} 

myBuffer被声明为在类的顶部VAR int和我试图检查时,它等于-1,这样我可以返回-1。当我试图做Java的方式,就像这样:

if ((myBuffer = myInput.read()) == -1) { 
    return -1; 
} 

我得到一个警告说,与单位平等的测试将始终为假,当我跑它,它永远不会退出循环,其被证实这段代码是其中的一部分。这感觉应该是微不足道的,但我一直无法找到解决方案。有任何想法吗?

+1

赋值'myBuffer = myInput.read()'返回一个'Unit',而不是myInput.read的'()的值'。你想要完成什么? –

+0

我试图从一个文件中读取(myInput是一个InputStream),并停止读取文件的末尾(用-1表示)。我用Java编写了这段代码,并试图将它移植到Scala – covfefe

回答

0

使用var在Scala中不推荐,因为你可能知道。

尝试scala.io.StdIn.readLine()