下面的代碼段工作正常了許多分裂成它的數字,但它是太長:如何將數分裂成其數字斯卡拉
val digits = (num toString).toList map(_.toString) map(_.toInt)
我馬培德他們toString
得到的實際價值時,應用toInt
而不是代表由toList
返回的Char
的Int
值。
我是新來的斯卡拉,我不習慣scala的expresive風格。 有沒有更簡單的方法做到這一點。
下面的代碼段工作正常了許多分裂成它的數字,但它是太長:如何將數分裂成其數字斯卡拉
val digits = (num toString).toList map(_.toString) map(_.toInt)
我馬培德他們toString
得到的實際價值時,應用toInt
而不是代表由toList
返回的Char
的Int
值。
我是新來的斯卡拉,我不習慣scala的expresive風格。 有沒有更簡單的方法做到這一點。
scala> 123.toString.map(_.asDigit)
res0: scala.collection.immutable.IndexedSeq[Int] = Vector(1, 2, 3)
您應該像Luigi提到的那樣使用'asDigit',但是,只要您知道,您可以將您的版本編寫爲'num.toString.map(_。 toString.toInt)'。 – dhg