どして queue.get(
)空のリストを返しますか?
class MyQueue{
var queue=List[Int](3,5,7)
def get(){
this.queue.head
}
}
object QueueOperator {
def main(args: Array[String]) {
val queue=new MyQueue
println(queue.get())
}
}
最初の要素を取得するにはどうすればよいですか?
空のリストを返すのではなく、JavaのUnit
に相当するScalaのvoid
(ゼロタプル)を返します。空のリストを返していた場合、_()
_(nullary Tuple)ではなく、List()
がコンソールに出力されます。
問題は、get
メソッドに間違った構文を使用していることです。 _=
_を使用して、get
が値を返すことを示す必要があります。
_def get() = {
this.queue.head
}
_
または、これはおそらくさらに優れています:
_def get = this.queue.head
_
In Scala副作用のないヌル関数の場合、通常は括弧(パラメーターリスト)を省略しますが、これは_queue.get
_を呼び出すときにも括弧をオフにする必要があります。
Scala Style Guide 、特に methodsのセクション をざっと見てください。
時々それは使用するのが良いかもしれません
取る1
空のリストで例外を引き起こさず、空のリストを再び返すため、headの代わりに。