Scala
Scala
未名__
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
五.递归与尾递归案例
递归的缺点:效率低,容易出现栈溢出 尾递归的思想:每次都利用调用参数传回的值去计算 案例: // 递归 def factorial(n:Int):Int= if(n<=0) 1 else n*factorial(n-1) factorial(5) //尾递归 @annotation.tailrec def factorial(n:Int,m:Int) :Int= if (n<=0) m else factorial(n-1, m*n) factoria原创 2021-04-16 16:37:32 · 147 阅读 · 0 评论 -
四.柯里化
柯里化(Currying)指的是将原来接受两个参数的函数变成新的接受一个参数的函数的过程。新的函数返回一个以原有第二个参数为参数的函数。 定义一个函数: def add(x:Int,y:Int)=x+y 函数柯里化: def add(x:Int)(y:Int) = x + y 案例: // 函数 def curriedAdd1(a:Int,b:Int) = a+b //> curriedAdd1: (a: Int, b: Int)Int curriedAdd1(1,2)原创 2021-04-16 16:30:40 · 128 阅读 · 0 评论 -
三.try与match表达式
object worksheet_p3 { /* try{} try在java中是语句,在scala中是表达式,会返回一个值 catch{} finaly{} */ val result_try = try{ // 把dog转成int,这时候,会抛出异常 Integer.parseInt("dog") }catch{ // 这里的意思是:抛出异常之后,进入到catch,catch接收, case _ => 0 // catch有case原创 2021-04-16 16:23:13 · 346 阅读 · 0 评论 -
二.try与if中的 for comprehension和collection
object worksheet_p2 { val l = List("alice","bob","cathy") //> l : List[String] = List(alice, bob, cathy) for( s <- l )println(s) //> alice //| bob原创 2021-04-16 16:21:30 · 129 阅读 · 0 评论 -
一.函数与代码块
// 函数与代码块 object func_examples { // hello是函数的名字 name是函数的参数 第一个String是参数的类型 第二个string的意思是函数返回的类型 def hello(name:String):String = { // 字符串插值 s"Hello,${name}" } //> hello: (name: String)St原创 2021-04-16 16:19:47 · 473 阅读 · 0 评论
分享