请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

偏函数是否可以数据多个参数?变量类型为偏函数,变量的调用逻辑

问题1:偏函数的入参可以是多个么?用 String* 的方式会报错。

问题2:

  val greaterThan20: PartialFunction[Any, Int] = {
    case i: Int if i > 20 => i
  }
  println(List(1, 45, 10, "blah", true, 25) collect greaterThan20)
List(1, 45, 10, "blah", true, 25) collect greaterThan20
 这种把变量类型设置为偏函数,调用方式的逻辑是啥尼?不太明白这种方式


正在回答 回答被采纳积分+3

1回答

Michael_PK 2022-06-21 11:15:34

PartialFunction的泛型只能定义两个,一个表示输入的数据类型,另外一个表示输出的数据类型。

你这里的greaterThan20是偏函数的名字,经过collect方法进行调用,这是scala的语法要求。

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕雪2013555 #1
    这种调用方式是偏函数特有的呢?还是collect 方法需要这么用呢?还是哪一类特有场景中要求这样使用呢?和之前学的调用方式完全不一样呢,不太明白
    回复 有任何疑惑可以回复我~ 2022-06-22 00:20:34
  • Michael_PK 回复 提问者 weixin_慕雪2013555 #2
    偏函数 是需要使用collect来进行触发的。  不要和spark里面rdd的collect弄混淆,两者没关系的
    回复 有任何疑惑可以回复我~ 2022-06-23 23:06:53
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信