2014-06-22 108 views

回答

4

這是一個extractor for pattern matching streams。這對列表無效。該列表有::(請注意列表中沒有#)。

case x #:: xs =>的含義是當模式匹配時,x將包含流的頭部,而xs將包含流(尾)的其餘部分。

有關如何定義流的示例,請查看stream documentation

+0

是否相當於x :: xs for List? – Donbeo

+1

@Donbeo是的,列表中的x :: xs相當於模式匹配中的流中的x#:: xs。你也可以選擇[Extractor Objects](http://docs.scala-lang.org/tutorials/tour/extractor-objects.html)。 – lpiepiora

+0

好的。我的理解是Stream只在被調用時才被評估。在這種情況下,評估流的第一個和第二個元素? (爲了檢查模式匹配) – Donbeo