使用reduceLeft代替scala中的foldLeft

Arn*_*nab 2 functional-programming scala fold

我想确保我是否可以通过使用reduceLeft而不是foldLeft来实现这一目标.我在列表中搜索给定的数字

val included = List(46, 19, 92).foldLeft(false) { (a, i) =>
| if (a) a else (i == 19)
| }
included: Boolean = true
Run Code Online (Sandbox Code Playgroud)

但是我想用reduceLeft完成同样的工作,是否可能?

TeW*_*eWu 5

正确的方法是

val included = List(46, 19, 92).contains(19)
Run Code Online (Sandbox Code Playgroud)

但如果你坚持使用reduceLeft,那么你可以写:

val included = List(46, 19, 92).reduceLeft { (a, b) =>
  if (b == 19) b else a
} == 19
Run Code Online (Sandbox Code Playgroud)