Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala过滤函数需要什么样的情况?_Scala_Apache Spark - Fatal编程技术网

Scala过滤函数需要什么样的情况?

Scala过滤函数需要什么样的情况?,scala,apache-spark,Scala,Apache Spark,我是scala/spark的新手,我很好奇案例是否真的需要 pairs.filter{case (key, value) => value.length < 20} pairs.filter{case(key,value)=>value.lengthtuple.\u 2.length

我是scala/spark的新手,我很好奇
案例是否真的需要

pairs.filter{case (key, value) => value.length < 20}
pairs.filter{case(key,value)=>value.length<20}

这不是必需的。该语法适用于分部函数,以下语法也适用:

pairs.filter(tuple => tuple._2.length < 20)
pairs.filter(tuple=>tuple.\u 2.length<20)
或相当于:

pairs.filter(_._2.length < 20)
pairs.filter(u.u 2.length<20)

这不是必需的。该语法适用于分部函数,以下语法也适用:

pairs.filter(tuple => tuple._2.length < 20)
pairs.filter(tuple=>tuple.\u 2.length<20)
或相当于:

pairs.filter(_._2.length < 20)
pairs.filter(u.u 2.length<20)

您正在分解元组。因此,您必须使用模式匹配语法,它使用
case
关键字

pairs.filter{case (key, value) => value.length < 20}
pairs.filter{case(key,value)=>value.length<20}
这将使用一个参数(2元组)的函数调用过滤器

pairs.filter{(key, value) => value.length < 20}
pairs.filter{(键,值)=>value.length<20}

此函数使用两个参数的函数调用筛选器。这不是正确的函数类型,将产生类型错误。

您正在分解元组。因此,您必须使用模式匹配语法,它使用
case
关键字

pairs.filter{case (key, value) => value.length < 20}
pairs.filter{case(key,value)=>value.length<20}
这将使用一个参数(2元组)的函数调用过滤器

pairs.filter{(key, value) => value.length < 20}
pairs.filter{(键,值)=>value.length<20}

此函数使用两个参数的函数调用筛选器。这不是正确的函数类型,将产生类型错误。

第二种语法仅在我记得的2.12之后才可用。@GáborBakos第二种语法在Scala中根本不起作用。元组解构只在dotty中可用,不需要花括号。@YuvalItzchakov感谢您的更正,我记得在某处看到过它,但似乎我需要等待更长的时间才能使用该语法。第二种语法仅在我记得的2.12之后才可用。@GáborBakos第二种语法在Scala中根本不起作用。元组解构只在dotty中可用,不需要花括号。@YuvalItzchakov感谢您的更正,我记得在某处见过它,但似乎我需要等待更长的时间才能使用该语法。模式匹配只需要case。但是有一个“u”可以用来匹配模式。模式匹配需要大小写。但是有一个“u”可以用来匹配模式。