zig*_*tar 10 collections scala
在集合上滑动的方法返回给定大小的滑动窗口,其形式为X[Iterable[A]]X是集合的类型,A是元素类型.我经常需要两三个元素,我更喜欢将它们命名.一个丑陋的解决方法sliding(2)是:
points.sliding(2).foreach{ twoPoints =>
val (p1,p2) = (twoPoints.head,twoPoints.last)
//do something
}
Run Code Online (Sandbox Code Playgroud)
这很糟糕,只适用于两个元素.另请注意
(a,b) = (twoPoints(0),twoPoints(1))
Run Code Online (Sandbox Code Playgroud)
不起作用.
Dan*_*ral 17
上周我在这个答案中做了很多.
points.sliding(2).foreach { case X(p1, p2) => ... }
Run Code Online (Sandbox Code Playgroud)
如果points是Array,则替换X为Array.如果是a List,则替换X为List,依此类推.
请注意,您正在进行模式匹配,因此您需要{}代替()参数.