发布网友 发布时间:2022-09-28 08:53
共1个回答
热心网友 时间:2024-11-21 01:33
举例说明偏应用函数是:from operator import add,mulfrom functools import。partialadd1=partial(add,1) #add(x)==add(1,x)。
mul100=partial(mul,100) #mul100(x)==mul(100,x)。
给出了部分所需要的参数。为了避免潜在的表达式歧义,Scala要求在后面加上下划线,用来告诉编译器你的真实目的。
注意,这个特性只对函数的多个参数列表有效,对一个参数列表中的多个参数的情况并不适用。
并且偏应用函数是一个表达式,包含函数的部分而非全部参数列表。返回值是一个新函数,此函数携带剩下的参数列表。
对于拥有多个参数列表的函数而言,如果你希望忽略其中一个或多个参数列表,可以通过定义一个新函数来实现。
将多个偏函数连接成一个偏函数的方法有两种:
1、使用orElse关键字,此时如果第一个偏函数不匹配就会尝试匹配下一个偏函数。
2、使用andThen关键字,此时会将第一个偏函数的执行结果传递给下一个偏函数作为参数并执行第二个偏函数。