scala并发编程第一章习题

来源:互联网 发布:淘宝漏洞券 编辑:程序博客网 时间:2024/05/17 22:50

1.下面的方法签名实现一个compose方法

    def compose[A,B,C](g:B => C ,f : A => B):A => C = x => g(f(x))

思路就是上一篇文章说的关于compose和andThen解读

2.下面一个方法签名实现一个名为fuse的方法:

def fuse[A,B](a:Option[A],b:Option[B]):Option[(A,B)] => for(x <- a;y <- b ) yield (x,y)

3.一个名为check的方法,该方法接收一组类型为T的值和一个T=>Boolean类型的函数,只有函数pred对序列所有值都返回true,该方法返回true

//1def check[T](xs:Seq[T])(pred:T=>Boolean) :Boolean = xs.filterNot(pred).isEmpty//2def check[T](xs:Seq[T])(pred:T=>Boolean) :Boolean = xs.forAll(pred)

4.Pair适合模式匹配

//oldclass Pair[P,Q](val first:P,val second:Q)//newcase class Pair[P,Q](val first:P,val second:Q)

5.一个名为permutations的函数,使该函数接收一个字符串,并返回一个字符串序列,返回的序列为输入字符串字典顺序

def premutations(x:String) : Seq[String] = x.split("").sortBy(_.toLowerCase)

效果截图worksheet

0 0
原创粉丝点击