中實現我不知道函數heads
是否存在「函數編程」原因不能在列表(或更一般地在TraversableLike)中實現。對我來說,heads
將與tails
完全相反,但我必須錯過一些東西。爲什麼功能頭沒有在列表
由於Scala是易於閱讀,這裏是我會看到(用於List
情況下):
def heads[T](li:List[T]):List[List[T]] = li match {
case Nil => Nil
case head::tail => (Nil::heads(tail)).map(head::_)
}
因此,這裏有我已經想到了這個功能不被執行的幾種可能性:
head
表示List
的第一個元素,所以它是沒有意義的,以創建一個函數來遍歷所有頭都只有一個。那爲什麼不是功能prefixes
?- 這是不可能使這個函數尾遞歸,所以我們寧願忽略它。
- 這是無用的(是嗎?)
- 這不是與函數式編程的理念兼容(爲什麼?)
預先感謝您的回答。
頭就是名單本身? – pedrofurla