在關於創建斐波那契數字的Stackoverflow帖子中,我找到了方法#::
(What is the fastest way to write Fibonacci function in Scala?)。在ScalaDocs中,我找到了描述哈希冒號冒號方法的條目(參見這裏,1)提取器允許使用#::模式匹配流。我該如何在Scala中使用#::/hash冒號冒號?
我意識到,我可以用斐波那契函數這樣
def fibonacci: Stream[Long] = {
def tail(h: Long, n: Long): Stream[Long] = h #:: tail(n, h + n)
tail(0, 1)
}
fibonacci(10) //res4: Long = 55
我應該如何理解ScalaDocs解釋?你能舉一個例子嗎?
爲什麼沒有必要在上面的
fibonacci
函數中定義參數?
謝謝你把「哈希結腸結腸」的稱號,所以我可以從谷歌發現這:) – jackweirdy