我記得在Java中,我們像這樣做:如何在Scala中輕鬆獲取當前操作系統的行分隔符?
System.getProperty("line.separator")
如何做相同的Scala呢?有沒有更好的(更簡單)的方法?
我記得在Java中,我們像這樣做:如何在Scala中輕鬆獲取當前操作系統的行分隔符?
System.getProperty("line.separator")
如何做相同的Scala呢?有沒有更好的(更簡單)的方法?
scala> import util.Properties
import util.Properties
scala> Properties.lineSeparator
res14: java.lang.String =
"
"
兩個scala.util.Properties.lineSeparator
和System.lineSeparator
會做同樣的工作。
System.lineSeparator
將直接調用Java方法,在系統中的道具找物業:
lineSeparator = props.getProperty("line.separator");
下面是結果:
scala> System.lineSeparator
res0: String =
"
"
它回落到默認的Java道具,如果沒有找到。
同樣,會叫:
def lineSeparator = propOrElse("line.separator", "\n")
最終調用:
System.getProperty(name, alt)
結果是一樣的:
scala> scala.util.Properties.lineSeparator
res2: String =
"
"
所以他們都從Java道具獲得行分隔符。唯一的區別是他們如何得到默認值。我不知道爲什麼它以這種方式實現:)。這就像他們不相信Java在這種情況下會有正確的默認值。