Advertisement
Guest User

Untitled

a guest
Feb 6th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.77 KB | None | 0 0
  1.      type GenTree<'data> =
  2.      |Leaf of 'data
  3.       |SubTree1 of  GenTree<'data>* 'data * GenTree<'data>
  4.      |Empty
  5. //higher order shit
  6.    type Calc =
  7.        |Operator of (float->float->float)
  8.        |Operand of float
  9.  
  10.      //  |Operator of 'op
  11.         //|Operand of float
  12.  
  13.  
  14. //4.2 Funktionen op som tar en operator och två delträd som input och returnerar ett aritmetiskt träd
  15.  
  16. let returnOp oper t1 t2 =
  17.     calculator.SubTree1(t1, oper, t2)
  18.  
  19. //4.3 Funktionen Eval tar ett aritmetisk träd som argument, räknar ut det och returnerar float värdet, ta hänsyn till division med 0
  20. let rec Eval tree =
  21.     match tree with
  22.     |calculator.Leaf (Operand x) -> x
  23.     |calculator.SubTree1(tl, oper, tr) -> (oper (Eval tl) (Eval tr))
  24.     |calculator.Empty -> 0.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement