
scala
文章平均质量分 81
腹黑客
骑最贵的单车,你就是gai上最靓的仔
展开
-
Scala神奇语法2
今天记录下Scala的柯里化语法 柯里化(Currying)是指将原先接受多个参数的函数 多个一个参数的多参数列表的过程。 让我们先来定义两个函数: // 实现对两个数进行计算的方法 def calc[A <: AnyVal](x:A, y:A, func_calc:(A, A)=>A) = { func_calc(x, y) } // 柯里化:实现对两个数进行计算 def calc_carried[A <: AnyVal](x:A, y:A)(fu原创 2020-05-31 09:33:40 · 144 阅读 · 0 评论 -
Scala的神奇语法
博主接触过Java,Python,C,C++几门主流语言,但今天在学习Scala中又见识到了新奇的地方,是从其他语言没接触过的。特分享出来供大家参考。 有关Scala的模式匹配问题, //匹配样例类 //scala可以使用模式匹配来匹配样例类,从而可以快速获取样例类中的成员数据。 // 定义样例类 case class SubmitTask(id: String, name: String) case class HeartBeat(time: Long) case object CheckTime原创 2020-05-30 16:05:58 · 264 阅读 · 0 评论 -
scala 中 与类相关操作
类 简单类和无参方法 Scala类最简单的形式看上去和Java中的很相似 class Counter { private var value = 0 //字段必须初始化 def increment() { //方法默认是公有的 value += 1 } def current() = value } Scala中类并不申明为public。Scala源文件可以包含多个类,所有这些类都具有公有可见性。 使用类要做的是构造对象并按照通常的方法来调用方法: val myCounter = new原创 2021-06-29 10:14:34 · 230 阅读 · 0 评论 -
Scala中的映射和元组
映射和元组 映射是键值对偶的集合。Scala中通用叫法为元组,n个对象的聚集,这些对象并不一定必须是相同类型的。对偶为一个n=2的元组。 构造映射 //scala 映射构造 val scores = Map("Alice" -> 10,“Bob” -> 3 , "Cindy" -> 8 ) 这是一个不可变的Map[String,Int],其值不能改变。 //创建可变映射 val scores = scala.collection.mutable.Map("Alice" -> 10,原创 2021-06-28 09:26:55 · 331 阅读 · 1 评论 -
Scala - 数组相关操作
数组相关操作 定长数组 不变数组。使用Scala中的Array. val nums = new Array[Int](10) //初始化为0 val a = new Array[String](10) //初始化为null val s = Array("Hello","World") //长度为2的Array[String] - 类型是推断出来的。说明:当已提供初始值时,就不需要new了 s(0) = "Goodbye" // 使用()而不是[]来访问元素 Jvm中,Scala的Array以Java数组方原创 2021-06-25 14:29:42 · 348 阅读 · 1 评论 -
Scala 中的结构控制和函数
结构控制和函数 条件表达式 scala中的if/else表达式有值。这个值就是跟在if或else之后的表达式的值。 可以将表达式的值进行复制 val s = if(x > 0) 1 else -1 等同于Java中的三元表达式。x > 0 ? 1 : -1。但不能在 ? : 表达式中插入语句。 如果两个分支的类型不同,则会用两个分支类型的公共超类型。 比如:if (x > 0) “positive” else -1 。一个String,一个Int。公共超类型是Any 如果else部分缺失,原创 2021-06-24 15:18:39 · 258 阅读 · 0 评论 -
Scala中的一些基础
Scala 2.12.x 基础 "读取-求值-打印"循环(read-eval-print loop),即REPL。 变量申明 val/var申明变量: val:定义一个常量,无法改变它的内容 var:申明一个其值可变的变量 常用类型 Scala七种数值类型: Byte Char Short Int Long Float Double Boolean Scala并不刻意区分基本类型和引用类型。可以对数字执行方法。 1.toString() //字符串"1" 1.to(10) //Range(1,2,3原创 2021-06-23 10:59:46 · 175 阅读 · 0 评论