目前知道的基本和匿名函数定义和函数类型声明有关,以及在case语句中的使用
case
语句中 case x => y
不过stackoverflow 上关于这方面的讨论挺多的,故在此记录一下
比如来自 http://stackoverflow.com/questions/6951895/what-does-and-mean-in-scala 的一位的回复:
=> has several meanings in Scala, all related to its mathematical meaning as implication.
-
In a value, it introduces a function literal, or lambda. e.g. the bit inside the curly braces in
List(1,2,3).map { (x: Int) => x * 2 }(匿名函数定义)
-
In a type, with symbols on both sides of the arrow (e.g.
A => T
,(A,B) => T
,(A,B,C) => T
, etc.) it's sugar forFunction<n>[A[,B,...],T]
, that is, a function that takes parameters of typeA[,B...]
, and returns a value of typeT
.(函数类型定义)-
Empty parens on the left hand side (e.g.
() => T
) indicate that the function takes no parameters (also sometimes called a "thunk"); -
Empty parens on the right hand side denote that it returns
()
—the sole value of typeUnit
, whose name can also be written()
—confused yet? :)A function that returns Unit is also known as a procedure, normally a method that's called only for its side effect.
-
-
In the type declaration for a method or function parameter, with no symbol on the left hand side (e.g.
def f(param: => T)
) it's a "by-name parameter", meaning that is evaluated every time it's used within the body of the function, and not before. Ordinary "by-value" parameters are evaluated before entry into the function/method.(函数类型定义) -
In a
case
clause, they separate the pattern (and optional guard) from the result expression, e.g.case x => y
.(case 语句)
http://stackoverflow.com/questions/6951895/what-does-and-mean-in-scala
http://stackoverflow.com/questions/7888944/scala-punctuation-aka-symbols-and-operators
相关推荐
Option、 None、 Some 是 scala 中定义的类型,它们在 scala 语言中十分常用,因此这三个类型很重要。 None、 Some 是 Option 的子类,它主要解决值为 null 的问题,在 java 语言中,对于定义好的 HashMap,如果 get...
Flinken在德语里是敏捷的意思,意指快速精巧。其代码主要是由 Java 实现,部分代码由 Scala实现。Flink既可以处理有界的批量数据集,也可以处理无界的实时流数据,为批处理和流处理提供了统一编程模型。
effectful, 在 Scala 中,类型安全effectful计算的语法 Effectful 如果我们想要理解所有这些结构的符号影响,也许我们应该尝试回收已经经拥有的符号。,Paterson,,,,。Effectful是一个小型的宏库,允许你以比 ...
请注意,在解释器中,类及其伴生对象必须在同一个 go 中输入。 为此,建议使用:paste 。 注意:“iff”不等于“if”。 我用“当且仅当”的意思使用。 本文大致基于 Scala 2.10.4。 可能存在不反映当前语言标准的...
如果要在自己的项目中使用Mill,请查看我们的文档: 这是一个简单的示例,以便您可以想象它的外观: import mill . _ , scalalib . _ object foo extends ScalaModule { def scalaVersion = " 2.13.1 " } object ...
entity(as[NewUser]) { user => complete(s"User ${user.name} created") } } } ~ path(IntNumber) { userId => get { complete(s"Details for user $userId") } ~ delete { complete(s"User $userId ...
在意大利语中是阶梯的意思,据说它也有作为通往更好编程语言的阶梯的意思。 什么是领域特定语言 (DSL)? 培育新类型 像原始类型一样使用内置类型 建立新的控制结构 基于演员 scala 标志是什么意思? scala 楼梯的...
5. **并发处理**:在 Scala 中使用并行和并发工具,如 Futures 和 Akka,提高爬虫的效率和性能。 6. **版本控制**:熟悉 Git 工具的使用,包括创建分支、提交、合并和解决冲突。 7. **开源文化**:了解开源项目的...
Scala的编译器会将Scala代码转化为字节码,可以在JVM上运行,这就是`rockjvm`可能指代的意思,强调了Scala与JVM的紧密关系。 学习 Scala 的关键知识点包括: 1. **基本语法**:Scala 的语法与 Java 有所不同,例如...
Shapeless是Scala中的一个通用元编程库,它允许开发者在编译时进行高级操作,如操作类型信息和构建类型安全的代码。章鱼库利用Shapeless,可以动态地处理不同类型的验证规则,无需为每种数据类型单独编写代码,极大...
YoPlay 是生成器,为 (Scala) + (默认情况下在内存数据库中使用 )创建开发环境。 几分钟后,您将获得: 开箱即用的开发环境 适用于实体的非常基本的异步 CRUD - 适用于启动器/模拟后端 你需要什么? - Yeo 是一...
Finatra是一个轻量级框架,用于在和之上构建快速,可测试的Scala应用程序。 Finatra提供了用于创建和和的易于使用的API,以及强大的JSON支持,通过现代日志记录, 实用程序等。 参与进来 网站: : 最新消息: ...
Framework2Startdevelopingawesomewebapplicationswiththis”,这段文字中“awesomewebapplications”应该正确扫描为“awesome web applications”,但整体意思不影响理解。通过上下文推断,读者可以对文档内容有一...
学习和探索这个示例项目,你可以了解到如何在Scala中配置和启动Flink作业,理解Flink的数据处理模型,以及如何利用Scala的特性编写Flink作业。此外,通过查看代码,你还能掌握Flink中关键API的使用方式,例如数据源...
Flink的设计理念是“连续计算”,即数据始终处于流动状态,这使得Flink在实时数据处理中表现出色。Flink的流处理模型允许数据无界且低延迟地处理,而批处理则是流处理的一个特例,处理的是有界的输入数据集。 二、...
在 File -> Settings -> Compiler 中,选择 Compiler 选项卡,并勾选 Make project automatically 选项。 自动加载配置 在 IDEA 中,可以通过配置自动加载文件类型来实现自动加载。在 File -> Settings -> ...
除了三种Wiki语言之外,您还可以编写Scala脚本并从广泛的模板语言中进行选择,以不仅方便地创建静态站点,还可以方便地创建动态站点。 主要将三个伟大的开源组件粘合在一起: 是模板引擎使用Java实现 出色的用户...
由于教学上的原因,该存储库已被保留,因为很有趣地看到在Scala的类型系统(Scala 2和Scala 3)中执行这种操作所需的技术是什么。 但是,我将不再维护Shims的发展。 我建议谁是取决于它升级到猫在您方便大家,因为...