Advertisement
jules0707

map

Feb 27th, 2017
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.53 KB | None | 0 0
  1. package week5
  2.  
  3. object map {
  4.   def mapFun[T, U](xs: List[T], f: T => U): List[U] =
  5.     (xs foldRight List[U]())(f(_)::_)             //> mapFun: [T, U](xs: List[T], f: T => U)List[U]
  6.    
  7.     val nums = List(4,5,5,9)                      //> nums  : List[Int] = List(4, 5, 5, 9)
  8.     mapFun[Int,Int](nums, _+1)                    //> res0: List[Int] = List(5, 6, 6, 10)
  9.    
  10.    
  11.    
  12. // deconstruc a list with a pair
  13.   def lengthFun[T](xs: List[T]): Int =
  14.     (xs foldRight 0)((_,y)=>1+y)                  //> lengthFun: [T](xs: List[T])Int
  15.    
  16.     lengthFun(nums)                               //> res1: Int = 4
  17.    
  18.     val s = "Hello You"                           //> s  : String = Hello You
  19.     s map (c=> List(".",c))                       //> res2: scala.collection.immutable.IndexedSeq[List[Any]] = Vector(List(., H),
  20.                                                   //| List(., e), List(., l), List(., l), List(., o), List(.,  ), List(., Y), List
  21.                                                   //| (., o), List(., u))
  22.     s flatMap (c=> List(".",c))                   //> res3: scala.collection.immutable.IndexedSeq[Any] = Vector(., H, ., e, ., l,
  23.                                                   //| ., l, ., o, .,  , ., Y, ., o, ., u)
  24.                                                  
  25.     val ss = Set(4,5,54,4, "roto")                //> ss  : scala.collection.immutable.Set[Any] = Set(4, 5, 54, roto)
  26.    
  27.      ss filter (x=> x.isInstanceOf[Int])          //> res4: scala.collection.immutable.Set[Any] = Set(4, 5, 54)
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement