1.4. Строки#
Подробнее о строках в мануале [url].
В Julia богатая поддержка работы с текстом, встроенные текстовые типы работают с Unicode. Основные типы: Char
, String
и SubString
.
Тип Char
используется для работы с отдельными символами, его литерал две одинарные кавычки '
.
julia> 'a'
'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)
julia> 'α'
'α': Unicode U+03B1 (category Ll: Letter, lowercase)
julia> 'aa'
ERROR: syntax: character literal contains multiple characters
Stacktrace:
[1] top-level scope
@ none:1
Тип String
предназначен для строк, его литерал двойные кавычки "
.
julia> "a"
"a"
julia> "a" == 'a'
false
julia> "aaaa"
"aaaa"
julia> typeof("aaaa")
String
Escape специальных символов производится привычным \
, например '\n'
, '\t'
.
Описание |
Cинтаксис |
Пример |
Результат |
---|---|---|---|
Конкатенация |
|
|
|
Дублирование |
|
|
|
Интерполяция значения переменной |
|
|
|
Интерполяция результата выражения |
|
|
|
Разбиение строки |
|
|
|
Сбор строки |
|
|
|
Удаление whitespace окружения |
|
|
|
Форматированная строка ( |
|
|
|
Печать в stdout |
|
|
Печатает в stdout «A = 10» |
|
|
|
Печатает в stdout |
Чтение из stdin |
|
|
Ожидание ввода |
Парсинг строки |
|
|
|
Строки в Julia являются неизменяемыми объектами. Однако, часто требуется поработать с каким-то участком строки. Для этого, чтобы экономить память и время, в Julia существует тип SubString
, который указывает на часть строки, но при этом ведёт себя как String
.
julia> split(strip(" 1.0 2.0 3.0 "))
3-element Vector{SubString{String}}:
"1.0"
"2.0"
"3.0"
julia> parse.(Float64, ans) # ans -- внутренняя переменная REPL, хранящая результат последнего вычисления
3-element Vector{Float64}:
1.0
2.0
3.0