gpt4 book ai didi

斯卡拉 | '<-' 、 '->' 和 '=>' 运算符之间有什么区别,它们是如何隐式工作的?

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

在学习 Scala 的基础知识时,我遇到了“<-”运算符,他们说它是来自任何范围/列表或集合的生成器。

  1. 它在什么基础上生成这些值以及隐含的方法是什么?
  2. 是否必须在 Object.scala 中使用 main()?我不能在 Class.scala 中定义 main() 吗?
  3. 是否必须让 Object.scala 从类的方法中获取输出?

最佳答案

箭头

<- , ->=>是完全不同的东西,在 Scala 中有完全不同的用途 - 比较它们没有多大意义。

<-用于for理解。在<- 的右侧是一个生成器,它是具有 foreach 的类型的实例方法,它生成 for 的元素将要循环。请注意,生成器不需要是一个集合 - 任何具有 foreach 的东西方法将起作用(例如,它可以是 Option )。

->是一种创建元组的方法。创建 Map 时经常使用此方法具有方便、易读的语法。例如:

val map = Map("one" -> 1, "two" -> 2, "three" -> 3)

请注意 "one" -> 1("one", 1) 相同(一个 Tuple2 包含值 "one"1 )等

=>用于函数字面量和函数类型,它是函数(或函数类型)参数和函数体(或返回类型)之间的分隔符。

main()

Scala 没有 static像Java。你会做的任何事情static在 Java 中,您可以输入 object而不是在 class在 Scala 中。

自从 main()方法应该是 static ,它必须在 object 中定义在 Scala 中而不是在类中。

当然你可以创建一个 main()类中的方法,但不能将其用作应用程序的入口点 - 它只是一个常规方法,恰好被命名为 main .

关于斯卡拉 | '<-' 、 '->' 和 '=>' 运算符之间有什么区别,它们是如何隐式工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37967918/

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