在斯卡拉2.10.3,我看到這個問題。如何解決斯卡拉2.10.x弄平問題
Welcome to Scala version 2.10.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_25).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val list = List(1, 2, List(5, 6))
list: List[Any] = List(1, 2, List(5, 6))
scala> list.flatten
<console>:9: error: No implicit view available from Any => scala.collection.GenTraversableOnce[B].
list.flatten
^
如何解決此問題?
我目前的解決方法是定義我自己的扁平函數。
def flat(list: List[Any]): List[Any] = list flatten {
case i: List[Any] => flat(i)
case e => List(e)
}
scala> flat(list)
res2: List[Any] = List(1, 2, 5, 6)
所以,我想,我有寫我自己的房子。斯卡拉的拼合不再適用 – Billz
斯卡拉拼合的工作很好;然而,無法平整一個List [Any],因爲類型檢查器不知道Any是否可以遍歷。 – dhg
僅僅因爲Scala可以讓你省略類型聲明,並不意味着它是一種動態語言。你應該抵制像Python那樣編寫Scala代碼的衝動。 – geoffliu