Programming Scala第6章 demo02 高阶函数

package base06

/**
  * Created by dd on 2016/5/19 0019.
  */
object demo02 extends App{
//  具有多参数的函数值
  def inject(arr: Array[Int], initial: Int, operation: (Int, Int)=> Int): Int ={
  var carryOver = initial
  arr.foreach(ele=> carryOver = operation(carryOver,ele))
  carryOver
}
  val array = Array(2,3,4,5,6)
  val sum = inject(array,0,(carryOver,ele)=>carryOver+ele)
  println("the sum of the array is "+sum)

  val max = inject(array,Integer.MIN_VALUE, (carryOver,ele)=> Math.max(carryOver,ele))
  println("the max value of the array is "+max)

  println("---------------------------------------------------------------------")

  var array2 = Array(2,3,4,5,6)
  val sum2 = (0 /: array2){(sum2,ele)=> sum2+ele}
  println("the sum of the array is "+sum2)
  val max2 = (Integer.MIN_VALUE /: array2){(large,ele)=> Math.max(large,ele)}
  println("the max value of the array is "+max2)

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值