楼主: ReneeBK
1757 12

[Lecture Notes]Programming Languages: Scala,Columbia University [推广有奖]

11
ReneeBK 发表于 2016-4-9 08:20:22
  1. def simplifyTop ( expr : Expr ): Expr = expr match {
  2. case UnOp ( " -" , UnOp ( " -" , e )) = > e // Double negation
  3. case BinOp ( " + " , e , Number (0)) = > e // Adding zero
  4. case BinOp ( " * " , e , Number (1)) = > e // Multiplying by one
  5. case _ = > expr
  6. }
  7. scala > simplifyTop ( UnOp ( " -" , UnOp ( " -" , Var ( " x " ))))
  8. res0 : Expr = Var ( x )
复制代码

12
ReneeBK 发表于 2016-4-9 08:20:53
  1. Using tuples in pattern matching:
  2. def tupleDemo ( expr : Any ) =
  3. expr match {
  4. case (a , b , c ) = > println ( " matched " + a + b + c )
  5. case _ = > // returns Unit
  6. }
  7. scala > tupleDemo (( " a " , 3 , " - tuple " ))
  8. matched a 3 - tuple
复制代码

13
AdaliaWZ 发表于 2016-6-7 12:18:27
多谢分享!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-1 23:46