今天来学一下scala中的For表达式的用法. package scala.learn case class Persons(name:String,isMale:Boolean,children:Persons*) object Test_85 { def main(args:Array[String]){ val lauren = Persons("Lauren",false) val rocky = Persons("Rocky",tru
今天我们来看一下For表达式中的生成器,定义和过滤等内容. 让我们来看下代码 def main(args:Array[String]){ val lauren = Persons("Lauren",false) val rocky = Persons("Rocky",true) val vivian = Persons("Vivian",false,lauren,rocky) val persons = List(lau
最近在开发中使用akka http进行请求,返回的是一个future,并且要对future进行超时设置,不知怎么设置,因此学习了下. 一.Future阻塞 首先,scala中的future不支持内置超时,要想达到这样的目的,可以使用Await进行阻塞,具体例子如下: import scala.concurrent._import scala.concurrent.duration._import ExecutionContext.Implicits.global lazy val f = fut
偏应用函数 举个例子 def sum(a: Int, b: Int, c: Int) = a + b + c val a = sum _ println(a(1,2,3)) 实际发生的事情是这样的:名为a的变量指向一个函数值对象.这个函数值是由Scala编译器依照 偏应用函数表达式sum _,自动产生的类的一个实例.编译器产生的类有一个apply方法带三个参 数.4之所以带三个参数是因为sum _表达式缺少的参数数量为三.Scala编译器把表达式a(1,2,3) 翻译成对函数值的apply方法的
1 var 可变,val 不可变 var (a,b) = (10,20) 分别对a,b赋值 a=10, b=20 var a,b = (10,20)则 是a=(10,20) b=(10,20) 2 List List是不可变的,与Java中String类似,操作List返回的是新的List对象. val l = List(1,2,3,4,5) List元素类型一致 3 Map Set (1) 不可变 var jetSet = Set("Boeing", "Airbus&quo