我目前正在嘗試Scala中的事情,嘗試習慣函數式編程以及再次傾斜一種新語言(這是自上次以來的一段時間)。使用mkString合併字符串列表vs foldRight
現在給出一個字符串列表,如果我想將它們合併成一個長字符串(例如"scala", "is", "fun" => "scalaisfun"
),我想一個辦法是做一個foldRight
並在各個元素上應用連接。無可否認,更簡單的另一種方法是致電mkString
。
我檢查了github,但無法真正找到各自功能的源代碼(任何幫助,將不勝感激),所以我不知道如何實現功能。從我的頭頂來看,我認爲mkString
更靈活,但感覺在某處可能有foldRight
。它有什麼道理嗎?
否則,scaladocs會提及mkString
針對每個相應元素的toString
調用。看到它們已經是字符串,在這種情況下,這可能是mkString
的一個負面因素。對性能,簡單/優雅等兩種方法的優缺點有何評論?
這裏是mkString的來源,如果你有興趣。 https://www.assembla.com/code/scala-eclipse-toolchain/git/nodes/src/library/scala/collection/TraversableOnce.scala?rev=9752caefeb97123f195b32b4166577e59bf22bce#ln262 – sberry 2013-05-08 18:35:08