は、私たちはこのようにそれを行う、Javaで覚えている:Scalaで現在のOSの行区切りを簡単に取得する方法は?
System.getProperty("line.separator")
Scalaで同じことを行うには?より良い(簡単な)方法がありますか?
は、私たちはこのようにそれを行う、Javaで覚えている:Scalaで現在のOSの行区切りを簡単に取得する方法は?
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が正しいデフォルトを持つとは信じられないようです。