Scala偏函数

本文探讨了Scala中的偏函数,通过实战案例解析其使用方法。偏函数在定义时可以只提供部分参数,而在调用时编译器会自动补充剩余参数。例如,定义偏函数`sum _`并赋值给`fp_a`,在调用`fp_a(1, 2, 3)`时,编译器会识别并传递缺失的参数。另外,当调用如`fp_b(10)`这样的偏函数时,即使提供了部分参数,也需明确指定类型。" 121465045,9312110,Halcon数据类型与C#转换详解,"['HALCON', 'C#编程', '图像处理', '编程接口']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内容:

1Scala偏函数实战

2Scala偏函数解析

    val data = List(1, 2, 3, 4, 5, 6)
    data.foreach(println _)
    data.foreach(x => println(x))
<span style="font-family: 宋体; background-color: rgb(255, 255, 255);">Println _</span><span style="font-family: 宋体; background-color: rgb(255, 255, 255);">这种下划线代表若干个参数的函数称为偏函数,偏函数实际是值类型一种表达式,这种表达式在使用时候只提供部分参数,所以可以将其赋值给一个常量。</span>

    def sum(a: Int, b: Int, c: Int) = a + b + c
    println(sum(1, 2, 3))
    
    val fp_a = sum _
    println(fp_a(1, 2, 3))
    println(fp_a.apply(1, 2, 3))
    val fp_b = sum(1, _: Int, 3)
    println(fp_b(2))
    println(fp_b(10))

//以上代码中偏函数sum _赋值给常量fp_a,且提供部分参数,但在实际使用的时候,要对函数定义的参数进行全部赋值fp_a(1,2,3);

  Fp_a.apply(1,2,3)实际是调用的function方法的apply函数,参数类型均为int,编译器会自动识别sum_缺少的3个参数,apply获取到这3个参数,并将其传给sum

调用fp_b(10)时候,虽提供部分参数,_:int 但必须指明类型。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值