var op = (callback:(Int,Int)=>Int,x:Int,y:Int)=>{}

你提供的代码定义了两个函数字面量 summul,以及一个接受另一个函数作为参数的高阶函数 op。这段代码展示了如何在Scala中使用函数字面量和将函数作为参数传递给其他函数。下面是你的代码及其解释:

 

scala

深色版本

object Test14_1 {
  def main(args: Array[String]): Unit = {

    // 定义一个求和的函数字面量
    var sum = (x: Int, y: Int) => x + y

    // 定义一个乘法的函数字面量
    var mul = (x: Int, y: Int) => x * y

    // 定义一个高阶函数,它接受一个回调函数(callback)和两个整数参数
    // 然后应用这个回调函数到这两个整数上,并返回结果
    var op = (callback: (Int, Int) => Int, x: Int, y: Int) => {
      callback(x, y)
    }

    // 使用op函数,并传入sum函数字面量以及参数100和200
    var rs = op(sum, 100, 200)
    println(rs)  // 输出 300

    // 直接调用sum函数字面量
    println(sum(100, 200))  // 再次输出 300

    // 调用mul函数字面量
    println(mul(100, 200))  // 输出 20000
  }
}

代码解析

  • 函数字面量 sum 接受两个整数并返回它们的和。
  • 函数字面量 mul 接受两个整数并返回它们的乘积。
  • 高阶函数 op 接受三个参数:一个类型为 (Int, Int) => Int 的函数 callback,以及两个整数 x 和 yop 函数的作用是调用 callback 并传入 x 和 y 作为参数,然后返回结果。

当你运行这段程序时,它会打印出以下内容:

  • 第一次调用 op(sum, 100, 200) 的结果是 300,因为 sum 将 100 和 200 相加。
  • 直接调用 sum(100, 200) 也得到 300
  • 最后,调用 mul(100, 200) 得到 20000,即 100 与 200 的乘积。

这段代码很好地演示了如何在Scala中使用匿名函数和高阶函数。通过这种方式,你可以创建灵活且可复用的代码结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值