ぶろぐ

日記です

アプリカティブ


どこでどう使うかはまだわからないけど、あるデータに対してメソッドのリストを適応したい、とかだと使えそうな気がする

// scalaz

scala> Option(2) <*> Option( (x:Int) => x*2 )
res69: Option[Int] = Some(4)

scala> List(2,3) <*> List( (x:Int) => x*2 )
res71: List[Int] = List(4, 6)

scala> List(2) <*> List( (_:Int) *2, (_:Int) *3 )
res81: List[Int] = List(4, 6)

scala> 2.pure[List] <*> List( (_:Int) *2, (_:Int) *3 )
res84: List[Int] = List(4, 6)