目前知道的基本和匿名函数定义和函数类型声明有关,以及在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...
effectful, 在 Scala 中,类型安全effectful计算的语法 Effectful 如果我们想要理解所有这些结构的符号影响,也许我们应该尝试回收已经经拥有的符号。,Paterson,,,,。Effectful是一个小型的宏库,允许你以比 ...
请注意,在解释器中,类及其伴生对象必须在同一个 go 中输入。 为此,建议使用:paste 。 注意:“iff”不等于“if”。 我用“当且仅当”的意思使用。 本文大致基于 Scala 2.10.4。 可能存在不反映当前语言标准的...
Flinken在德语里是敏捷的意思,意指快速精巧。其代码主要是由 Java 实现,部分代码由 Scala实现。Flink既可以处理有界的批量数据集,也可以处理无界的实时流数据,为批处理和流处理提供了统一编程模型。
在意大利语中是阶梯的意思,据说它也有作为通往更好编程语言的阶梯的意思。 什么是领域特定语言 (DSL)? 培育新类型 像原始类型一样使用内置类型 建立新的控制结构 基于演员 scala 标志是什么意思? scala 楼梯的...
扇贝 Scala HTTP Bot 解析网页中的嵌入视频
YoPlay 是生成器,为 (Scala) + (默认情况下在内存数据库中使用 )创建开发环境。 几分钟后,您将获得: 开箱即用的开发环境 适用于实体的非常基本的异步 CRUD - 适用于启动器/模拟后端 你需要什么? - Yeo 是一...
支持返回多种类型(前提是在不确定类型的情况下,val y:String或val y:Int这样都不行)。 val y = if(x > 1) 1 else hello val b = if(x < 1) 1 注意这个后面没有else返回的是AnyVal类型,这个AnyVal是所有类型...
Finatra是一个轻量级框架,用于在和之上构建快速,可测试的Scala应用程序。 Finatra提供了用于创建和和的易于使用的API,以及强大的JSON支持,通过现代日志记录, 实用程序等。 参与进来 网站: : 最新消息: ...
swakka:一个Scala库,用于通过Akka-Http以类型安全的方式创建Swagger定义
除了三种Wiki语言之外,您还可以编写Scala脚本并从广泛的模板语言中进行选择,以不仅方便地创建静态站点,还可以方便地创建动态站点。 主要将三个伟大的开源组件粘合在一起: 是模板引擎使用Java实现 出色的用户...
由于教学上的原因,该存储库已被保留,因为很有趣地看到在Scala的类型系统(Scala 2和Scala 3)中执行这种操作所需的技术是什么。 但是,我将不再维护Shims的发展。 我建议谁是取决于它升级到猫在您方便大家,因为...
在Scala中创建类型类时有一个约定,以在伴随对象上提供apply方法,以访问隐式类型类实例。 这里可以使用summon宏来创建此方法的更有效形式。 ([1]通过上下文绑定,我的意思是将类型参数声明为[A: Magma] ,它也与...
SMPP 最初是由杰出的程序员 Sujit Pal ( ) 在 Scala 中创建的。 在信息学实验中使用 NER 时,我发现它在具有一些概念的短句上的性能与该特定领域中的 cTAKES 相当或更好。 我将其转换为 python 并添加了一些功能,...
TP-Objetos TP Objetos。 萨尔瓦多人实践行动纲领》(来源,埃Scala1,埃Scala2... ReadlineSync:在图书馆中可以自由使用实用程序,而在teclado中可以使用Ingresar datos y valores。 可以从以下任何一种方式获得好处
Apache Kafka 2.8.1(Scala 2.12 :kafka_2.12-2.8.1.tgz) 是一个开源分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用程序。) 是一个开源分布式事件流平台,被数千家公司用于高...
#沃尔特任命如何使它工作您需要与版本8相同或更高的Java 在cmd中执行'java --version',如果它显示了Java 8(含)版本,则可以使用如果没有Java,请安装Oracle JDK或OpenJDK 8+版本安装sbt: ://www.scala-sbt.org ...
包含spark 、hadoop、 intellJ、 scala、hadooponwindows等全套资料包。2资源分意思一下。小白将近5个小时的摸索成果!
介绍拉各姆(Lagom)是瑞典语,意思是恰到好处。 微服务是关于创建大小合适的服务,也就是说,它们具有正确的功能和隔离级别,以能够适当地实现可伸缩和有弹性的系统。 Lagom致力于确保您的应用程序充分发挥潜能,...
SparkSql是架构在Spark计算框架之上的分布式Sql引擎,使用DataFrame和DataSet承载结构化和半结构化数据来实现数据复杂查询处理,提供的DSL 可以直 接使用scala语言完成Sql查询,同时也使用thriftserver提供服务化的...