equal
deleted
inserted
replaced
511 Clown) |
511 Clown) |
512 |
512 |
513 println(people.sortWith(superior).mkString("\n")) |
513 println(people.sortWith(superior).mkString("\n")) |
514 |
514 |
515 |
515 |
|
516 // String interpolations as patterns |
|
517 |
|
518 val date = "2000-01-01" |
|
519 val s"$year-$month-$day" = date |
|
520 |
|
521 def parse_date(date: String) = date match { |
|
522 case s"$year-$month-$day" => Some((year.toInt, month.toInt, day.toInt)) |
|
523 case s"$day/$month/$year" => Some((year.toInt, month.toInt, day.toInt)) |
|
524 case _ => None |
|
525 } |
|
526 |
|
527 |
516 // Tail Recursion |
528 // Tail Recursion |
517 //================ |
529 //================ |
518 |
530 |
519 |
531 |
520 def fact(n: Long): Long = |
532 def fact(n: Long): Long = |
721 |
733 |
722 |
734 |
723 |
735 |
724 |
736 |
725 |
737 |
|
738 // if you like verbosity, you can full-specify the literal. |
|
739 // Don't go telling that to people, though |
|
740 (1 to 100).filter((x: Int) => x % 2 == 0).sum |
|
741 |
|
742 // As x is known to be an Int anyway, you can omit that part |
|
743 (1 to 100).filter(x => x % 2 == 0).sum |
|
744 |
|
745 // As each parameter (only x in this case) is passed only once |
|
746 // you can use the wizardy placeholder syntax |
|
747 (1 to 100).filter(_ % 2 == 0).sum |
|
748 |
|
749 // But if you want to re-use your literal, you can also put it in a value |
|
750 // In this case, explicit types are required because there's nothing to infer from |
|
751 val isEven: (x: Int) => x % 2 == 0 |
|
752 (1 to 100).filter(isEven).sum |