В данной статье мы рассмотрим строки (Strings) в языке программирования Scala.
Так же как и в Java в Scala строки – это неизменяемые (immutable) объекты.
Для создания строки в Scala используется запись следующего вида:
var simpleString = "This is simple String";
ИЛИ
var = simpleString:String = "This is simple String";
Рассмотрим простой пример:
package net.proselyte.scalatutorial.strings
/**
* Simple Scala class that demonstrates work with Strings in Scala.
*
* @author Eugene Suleimanov
*/
object StringDemo {
val simpleString = "This is simple String";
def main(args: Array[String]) {
println(simpleString);
}
}
В результате выполнения данной программы мы получим следующий вывод в консоль:
This is simple String
Process finished with exit code 0
Конкатенация строк
Конкатенация строк – это механизм объединения двух и более строк в одну.
Рассмотрим следующий пример:
package net.proselyte.scalatutorial.strings
/**
* Simple Scala class that demonstrates String Concatenation.
*
* @author Eugene Suleimanov
*/
object StringConcatenationDemo {
def main(args: Array[String]) {
val developerName: String = "Eugene Suleimanov";
val developerSpecialty: String = "Java/Scala developer";
val developerData: String = developerName + " is a " + developerSpecialty + ".";
println(developerData);
}
}
В результате выполнения данной программы мы получим следующий вывод в консоль:
Eugene Suleimanov is a Java/Scala developer.
Process finished with exit code 0
Интерполяция строк
Интерполяция строк – это механизм создания строк в языке программирования Scala.
Существует три интерполятора:
Интерполятор S
Данный интерполятор позволяет нам использовать переменные обрабатываемую строку.
Рассмотрим простой пример:
package net.proselyte.scalatutorial.strings
/**
* Simple Scala class that demonstrates 's' interpolator.
*
* @author Eugene Suleimanov
*/
object InterpolatorSDemo {
def main(args: Array[String]) {
val developerName = "Eugene Suleimanov";
println(s"Developer name: $developerName");
println(s"100 * 8 = ${100 * 8}");
}
}
В результате выполнения данной программы мы получим следующий результат:
Developer name: Eugene Suleimanov
100 * 8 = 800
Process finished with exit code 0
Интерполятор F
Данный интерполятор позволяет нам создавать форматированные строки.
Рассмотрим следующий пример:
package net.proselyte.scalatutorial.strings
/**
* Simple Scala class that demonstrates 's' interpolator.
*
* @author Eugene Suleimanov
*/
object InterpolatorFDemo {
def main(args: Array[String]) {
val product = "Milk";
val price = 12.5d;
println(f"$product%s price is: $price%2.2f");
}
}
Результатом выполнения данной программы будет следующий вывод в консоль:
Milk price is: 12.50
Process finished with exit code 0
Интерполятор RAW
Данный интерполятор позволяет нам создавать строки, которые игнорируют escape последовательности. В остальном данный интерполятор крайне похож на интерполятор S.
Рассмотрим пример ниже:
package net.proselyte.scalatutorial.strings
/**
* Simple Scala class that demonstrates 'raw' interpolator.
*
* @author Eugene Suleimanov
*/
object InterpolatorRawDemo {
def main(args: Array[String]) {
println(raw"This \b String ignores \n escape sequences \n");
}
}
Данная программы выдаёт следующий результат:
package net.proselyte.scalatutorial.strings
/**
* Simple Scala class that demonstrates 'raw' interpolator.
*
* @author Eugene Suleimanov
*/
object InterpolatorRawDemo {
def main(args: Array[String]) {
println(raw"This \b String ignores \n escape sequences \n");
}
}
Кроме всего указанного выше, класс String имеет множество методов, с которыми вы можете ознакомиться в документации языка программирования Scala.
На этом мы заканчиваем изучение строк в Scala.
В следующей статье мы рассмотрим коллекции в данном языке программирования.