快学Scala的笔记(9)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • atlarge

    atlarge (心有挂碍)

    // 习题1 class ImmutablePair[T, S](fst: T, snd: S){ private val pair = (fst, snd) def swap() = new ImmutablePair(pair._2, pair._1) override def toString() = "(" + pair._1 +", " + pair._2 + ")" } object ImmutablePair { def apply[T, S](fst: T, snd: S) = new ImmutablePair(fst, snd) //习题3 def swap[T, S](p: ImmutablePair[T, S]) = ImmutablePair(p.pair._2, p.pair._1) } // 习题2 class MutablePair[T](...   (1回应)

    2014-01-02 13:53   1人喜欢

  • 龙三

    龙三 (の日常)

    隐式转换在如下三种各不相同的情况会被考虑: 1)当表达式的类型与预期的类型不同时 2)当对象访问一个不存在的成员时 3)当对象调用某个方法,而该方法的参数声明与传入参数不匹配时

    2016-06-19 12:38

  • geting

    geting

    参数(类型)推断 map((x:Double) => 3*x) 等价于 map((x) => 3*x) 等价于 map(x => 3*x) 等价于 map(3*_) //如果参数在=>右侧只出现过一次,可以用_替换掉它

    2016-01-27 17:18

  • geting

    geting

    闭包(closure) 闭包由代码和代码用到的任何非局部变量定义构成。 def mulBy(factor: Double) = (x: Double) => factor *x val triple = mulBy(3) val half = mulBy(0.5) println(triple(14) + " " + half(14)) // print 42 7 mulBy的首次调用将参数变量factor设为3。该变量在(x:Double)=> factor * x函数的函数体内被引用,该函数被存入triple。然后参数变量factor从运行时的栈上被弹出。 接下来,mulBy再次被调用,这次...

    2016-01-27 17:10

  • 66436682

    66436682 (kksk)

    Can you call friends with that function? Of course you can. 你能用这个函数调用 friends 吗?当然可以。

    2015-03-26 04:02

  • May

    May (Tsinghua ing)

    又开始重新读一遍Scala的各项语法内容,尝试与C++ primer一起阅读,并且进行比较。 -------------------------------aabaaa试与abbbc

    2014-06-26 15:17

  • atlarge

    atlarge (心有挂碍)

    // 习题2 def swap(v: (Int, Int)) = { v match { case (x, y) => (y, x) } } // 习题3 import scala.reflect.ClassTag def swapInArray[T: ClassTag](a: Array[T]) = a match { case Array(x, y, rest @ _*) => Array(y, x) ++ rest case _ => a } // 习题4 abstract class Item case class Article(description: String, price: Double) extends Item case class Bundle(description: String, discount: Double, ite...

    2013-12-30 15:58

  • atlarge

    atlarge (心有挂碍)

    // 习题1 def indexes(str: String) = { str.zipWithIndex.groupBy(_._1).map { tuple => tuple._1 -> tuple._2.map(_._2).toSet } } // 要求mutable map和mutable set以及排序集 import scala.collection.mutable def indexesMutable(str: String) = { var res = mutable.HashMap[Char, mutable.LinkedHashSet[Int]]() for ((c, i) <- str.zipWithIndex) { val set = res.getOrElseUpdate(c, mutable.LinkedHashSet()...

    2013-12-29 14:03

  • atlarge

    atlarge (心有挂碍)

    // 习题1 def values(fun: (Int) => Int, low: Int, high: Int) = { (low to high).map(v => (v, fun(v))) } // 习题2 def getMaxValue[T <% Ordered[T]](arr: Array[T]) = { arr.reduceLeft((e1, e2) => if(e1 > e2) e1 else e2) } // 习题3 def factorial(n: Int) = { (1 to n).reduceLeft(_ * _) } // 习题4 def factorial2(n: Int) = { (1 to n).foldLeft(1)(_ * _) } // 习题5 def largest(fun: (Int) =>...

    2013-12-26 12:02

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

快学Scala

>快学Scala