Pamiętam jak w Javie, robimy to tak:Jak łatwo uzyskać separator linii bieżącego os w Scali?
System.getProperty("line.separator")
Jak zrobić to samo w Scala? Czy istnieje lepszy (łatwiejszy) sposób?
Pamiętam jak w Javie, robimy to tak:Jak łatwo uzyskać separator linii bieżącego os w Scali?
System.getProperty("line.separator")
Jak zrobić to samo w Scala? Czy istnieje lepszy (łatwiejszy) sposób?
scala> import util.Properties
import util.Properties
scala> Properties.lineSeparator
res14: java.lang.String =
"
"
Zarówno scala.util.Properties.lineSeparator
i System.lineSeparator
zrobi to samo zadanie.
System.lineSeparator
będzie bezpośrednio wywołać metodę Javy, która musi znaleźć nieruchomość w systemach rekwizytów:
lineSeparator = props.getProperty("line.separator");
Oto wynik:
scala> System.lineSeparator
res0: String =
"
"
Powraca do domyślnych rekwizyty Java jeśli żadna znaleźć.
Podobnie Properties.lineSeparator
wezwie:
def lineSeparator = propOrElse("line.separator", "\n")
która ostatecznie nazywa:
System.getProperty(name, alt)
Rezultat jest taki sam:
scala> scala.util.Properties.lineSeparator
res2: String =
"
"
Więc oboje dostać separator linii z rekwizytami Java. Jedyną różnicą jest to, jak uzyskują wartości domyślne. Nie wiem, dlaczego jest to realizowane w ten sposób :). To tak, jakby nie wierzyli, że Java będzie miała poprawne domyślne ustawienia w tym przypadku.