Get Started. It's Free
or sign up with your email address
Rocket clouds
scala by Mind Map: scala

1. Structural Typing

1.1. "type"

1.2. type Bloggable = { def toHtml(): HtmlFragment }

2. import

2.1. import Top.{B => _, C => _, _}

2.2. import Top2.{A => OtherA}

3. operator overloading

3.1. operator is method

4. nest package

5. == vs. eq()

6. access modifer

6.1. protected

6.1.1. derived class only,only own type

6.2. additional parameter

6.2.1. private[AccessQualifier]

6.2.2. protected[this]

7. companion class/object

7.1. access private,no boundaries

8. type inference

8.1. compile time

8.2. Any<->Nothing

8.3. Option:getOrElse

8.4. "=" or void method

8.5. _* in parameter

8.6. covariance/contravariance

8.6.1. <: upper bound

8.6.2. >: lower bound

8.6.3. List[+T]

8.6.4. List[-T]

9. functional

9.1. function value

9.1.1. is obj in scala

9.2. closure

9.3. high order function

9.3.1. take function as parameter

9.4. currying

9.4.1. fun()()()(),fun{}{}{}{}

9.5. positional notation

9.5.1. _

9.5.2. {max( _, _)}

9.5.3. max _

9.5.4. max

10. with traits

10.1. extends abtract class

10.1.1. limit with by type

10.2. super.xx()

10.2.1. <--

11. implicit type

11.1. Predef

11.2. at most one

12. List

12.1. ::

12.2. :::

12.2.1. faster

13. unary

13.1. def unary_-={}

13.2. +,-,!,~

14. for

14.1. for([pattern<-generator;definition*]+;filter*) [yield] expression

15. match

15.1. ...case List(1,2,[email protected]_*)...print(else)...

15.2. pattern variables-> lowerCase;Contants->upperCase

15.3. case class

15.3.1. sealed

15.3.2. match(some:Any)...case_

15.4. extractor

15.4.1. unapply()

15.4.1.1. return sth. named as parameters

15.4.1.2. vs. apply();oppsite

15.4.2. symbol @ extractor()

15.5. reg ex

15.5.1. is extractor auto

15.5.2. get Or check