2 3 Строки

+Сроки являются шаблоном и мета объектом, который содержит последовательности символов.

Приведение типов между строками

Следующие представления относятся к строкам

// Обыкновенная C-style строка
// Такая строка в c/c++ является const char*
let s1 : str::cstr = "Hello";

// Строки обёрнутые в '' это символы
// символы могут приводиться к строкам и наоборот
let s2 : str::cstr = ['H','e','l','l','o','\0'];

// 

Мета строки

Класс мета строк может оптимизировать формирование строк.

let mut aStr : str::meta #= "Hello ";
aStr #+= "world ";
aStr #+= str(10);
print(aStr);

Данный код скомпилируется в следующий:

print(format("{}{}{}","Hello ", "world ", str(10)));
// Hello world 10

Как мы видим с точки зрения вычислений данный код тратит меньше ресурсов при том сохраняя свободной логику формирования строки.

Изменения объекта будут накапливаться до определённого момента, когда придёт время вычислить их в автоматическом или ручном виде.