g-hyoga
6/23/2017 - 3:20 PM

sumを実装する!

sumを実装する!

//関数型っぽいけどめんどくさい
def sum(list: List[Int]): Int = {
  def iter(sum: Int, l: List[Int]): Int = {
    if (l.length == 0){
      return 0
    }
    iter(sum+list.head, list.tail)
  }
  iter(0, list)
}

//わかりやすいけどもはや関数型じゃない
def sum(list: List[Int]): Int = {
  var sum = 0;
  list.foreach {e => 
    sum += e
  }
  return sum
}

// 上みたいにするんじゃなくてなんか要素間をなんとかしてくれるメソッドはないのだろうか
// こんな感じで
// ありそうだけど、名前がわからない...
val sum = list.accumulate(left + right)