scala:通过结构感应证明两个功能

时间:2018-05-22 21:26:48

标签: scala induction

我在scala中有以下两个函数:

def sum(ls: List[Int]): Int = ls match
{
  case Nil => 0
  case l::ls => l + sum(ls)
}

def turn(ls: List[Int]) : List[Int] = ls match
{
  case Nil => List()
  case l::ls => append(turn(ls), List(l))
}

函数sum(ls)正在计算其元素的总和,turn(ls)返回一个列表,其中元素的顺序相反。 sum(List(2, 13, 4))为19,turn(List(2, 13, 4))List(4, 13, 2)

如何用(结构)感应显示

sum(cs) == sum(turn(cs))

成立?

0 个答案:

没有答案