scala
文章平均质量分 69
浅汐王
这个作者很懒,什么都没留下…
展开
-
Scala 闭包
Scala 闭包闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量。闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数。如下面这段匿名的函数:val multiplier = (i:Int) => i * 10 函数体内有一个变量 i,它作为函数的一个参数。如下面的另一段代码:val multiplier = (i:Int) =>...原创 2019-12-19 20:22:17 · 81 阅读 · 0 评论 -
Scala 柯里化
柯里化(Currying)将原来接受两个参数的函数变成新的接受一个参数的函数的过程。新的函数返回一个以原有第二个参数为参数的函数。通俗简单的理解就是:将接受多个参数的函数转化为接受多个参数列表的函数。实例首先我们定义一个函数:def sum(x:Int,y:Int)=x+y那么我们应用的时候,应该是这样用:add(1,2)现在我们把这个函数变一下形:de...原创 2019-12-19 20:00:13 · 107 阅读 · 0 评论 -
Scala处理XML文件(一)
Scala中处理XML文件的功能是比较强大的,因此不管怎样至少也得接触一下。XML也是Scala中的“第一类公民”,直接将一个XML格式的字符串赋值给一个val值变量就可以开始处理了。最基本的有scala.xml.Elem类中的 \ 方法和 \\ 方法,它们可用于直接对XML文件进行解析和提取。 假如有如下的XML文件:symbols> symbol ticker="AAPL"原创 2017-10-18 02:09:35 · 2119 阅读 · 0 评论 -
Scala处理XML文件(二)
要在Scala程序中加载已存在的XML文件,可以使用scala.xml.XML类中的load()方法。假设有如下XML文件,名为“books.xml”。bookshelf> book id="001"> name>Scalaname> author>Johnauthor> book> book id="002">原创 2017-10-18 02:11:35 · 976 阅读 · 0 评论 -
Scala Trait
Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。与接口不同的是,它还可以定义属性和方法的实现。一般情况下Scala的类只能够继承单一父类,但是如果是 Trait(特征) 的话就可以继承多个,从结果来看就是实现了多重继承。Trait(特征) 定义的方式与类类似,但它使用的关键字是 trait,如下所示:trait Equal { def is原创 2017-10-19 13:54:05 · 210 阅读 · 0 评论 -
fold,foldLeft和foldRight区别与联系
从本质上说,fold函数将一种格式的输入数据转化成另外一种格式返回。fold, foldLeft和foldRight这三个函数除了有一点点不同外,做的事情差不多。我将在下文解释它们的共同点并解释它们的不同点。 我将从一个简单的例子开始,用fold计算一系列整型的和。valnumbers =List(5,4,8,6,2)原创 2017-10-19 14:12:49 · 657 阅读 · 1 评论 -
Set集合
Scala Set是相同类型成对的不同元素的集合。换句话说,一个集合是不包含重复元素的集合。 集合有两种:不可变(immutable)和可变(mutable)。可变对象和不可变对象之间的区别在于,当对象不可变时,对象本身无法更改。默认情况下,Scala使用不可变的集合(Set)。 如果要使用可变集合(Set),则必须明确导入scala.collection.mutable.Set类。原创 2017-10-19 14:37:06 · 341 阅读 · 0 评论