2016-04-23 11 views
0

次のように私のコードは次のとおりです。Scalaユニットの平等性をチェックする方法は?

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

myBufferは、クラスの最上部にあるのvar intとして宣言されていると私はそれが等しい場合にチェックしようとしています-1私は返すことができるように、-1。

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

私はそれを実行し、それがそのループを終了したことがないとき確認したユニットとの平等のためのテストは常にfalseを与えるという警告を、得た:私はそうのように、それをJavaの道をやってみました場合にはこのコードはの一部でした。これは自明ではないように思えますが、私はこれに対する解決策を見つけることができませんでした。何か案は?

+1

を試みる 'myBuffer = myInput.read()' '' Unit'はなく、 'myInput.read(の値)を返します。あなたは全体的に何を達成しようとしていますか? –

+0

ファイル(myInputはInputStream)から読み込みしようとしていますが、ファイルの最後(-1で示される)で読み込みを停止します。私はJavaでこのコードを書いて、Scalaに移植しようとしています – covfefe

答えて

0

varを使用することは、ご存知のとおり、Scalaではお勧めできません。

が割り当てscala.io.StdIn.readLine()

関連する問題