0
我正在參加coursera的scala課程,我正在嘗試那裏正在教授的東西。那麼現在我遇到這個名單他們稱之爲「ConsList」?我試圖給它一個tail-recursive toString()方法。我想我必須保持像累加器那樣的東西,但我不知道該怎麼做。任何幫助都感激不盡。我如何讓scala的toString()尾遞歸
這裏就是我心中已經試過:
/** a non-empty element/node of the list */
class Cons[T](val head: T, val tail: List[T]) extends List[T] {
def isEmpty = false;
override def toString() =
if(tail.isEmpty) "{" + head + "}"
else "{" + head + tail + "}"
}
你的答案真的有幫助!非常感謝:)但是,你使用'xs'作爲列表名稱的原因是什麼?我發現馬丁odersky也在視頻中做同樣的事情,這是一個命名約定? – Somjit
@SomjitNag yep,這個來自列表,在FP中非常常見,只是表示X'es,很多X,其中X只是變量的常用名字(例如在數學函數中經常使用) – 4lex1v
ahh! 「很多」-s >>'xs'很高興知道!謝謝 :) – Somjit