gpt4 book ai didi

斯卡拉。获取 List 的第一个元素

转载 作者:行者123 更新时间:2023-12-03 10:14:33 28 4
gpt4 key购买 nike

为什么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())
}
}

我如何获得第一个元素?

最佳答案

它不是返回空列表,而是返回 Unit (一个零元组),它是 Scala 的 void 的等价物在 java 。如果它返回空列表,你会看到 List()打印到控制台而不是 () (空元组)。

问题是您对 get 使用了错误的语法。方法。您需要使用 =表示 get返回一个值:

def get() = {
this.queue.head
}

或者这可能更好:
def get = this.queue.head

在 Scala 中,您通常不为没有副作用的空函数使用括号(参数列表),但这要求您在调用 queue.get 时不使用括号。以及。

您可能想快速浏览一下 Scala Style Guide ,特别是 section on methods .

关于斯卡拉。获取 List 的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18425771/

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