Drukarnia.BLOG

Літерал

Загально

Рядок є літеральним і є НЕмутабельним об’єктом. Може бути створений шляхом написання тексту (групи символів), оточений одинарними , подвійними . Ми можемо писати багаторядкові рядки, використовуючи гравіс `. Ось приклад рядкового літералу Mash Script. Тут hello world! — це рядковий літерал, який присвоюється змінній.

// in single quote
string s = 'hello world!';

// in double quotes
string t = "hello world!";

// multi-line string
string m = `hello
                  world!`;

Out.println(s);
Out.println(t);
Out.println(m);

Вихід:

hello world! 
hello world! 
hello 
                  world!

Template рядки (Шаблони)

У Mash Script можна використовувати форматовані рядки (також: шаблони), аналогічні f-рядкам у Python, але вони підтримуються лише в одинарних лапках '…'. Такий формат дозволяє вставляти вирази прямо всередину рядка за допомогою синтаксису {…}. Ось приклад:

string name = 'Johan';

// Ідентичні (Шаблон та конкатеновані рядки):
string str1 = 'Hello {name}!'; // Hello Johan!
string str2 = 'Hello ' & name & '!'; // Hello Johan!

// Не працює (Через подвійні лапки):
string str3 = "Hello {name}!"; // Hello {name}!

Конкатенація рядків

Конкатенація рядків у Mash Script підтримує різні підходи для зручного з’єднання тексту. Можна використовувати просте розташування рядків поруч для їх автоматичної конкатенації, використовувати оператори + та & або мульти-рядки.

string text = (
  "Hello,"
  "World!"  // Конкатенація
  '!!!'
);

string text2 = `Hello,
                World!
                !!!`;  // Багаторядковий

string text3 = "Hello, " & "World" "!" // конкатенація

// Помилка: шаблони та звичайні рядки не поєднуються автоматично.
string text = (
  "Hello,"
  '{name}!'
);
// Натомість використовуйте оператор конкатенації: &
// *Оператор автоматично викликає метод __string__ у операндів: "Age: " & 10

Escape-послідовності

Використовуються для представлення символів, які не можна вводити безпосередньо, таких як символи нового рядка, табуляції, лапки тощо. Вони починаються зі зворотного слешу \. Ось основні escape-послідовності:

  1. \' – одинарна лапка. Використовується для введення одинарної лапки всередині рядка, що теж обгорнутий в одинарні лапки.

  2. \" – подвійна лапка. Дозволяє ввести подвійні лапки всередині рядка, обгорнутого в подвійні лапки.

  3. \\ – зворотний слеш. Вставляє сам символ зворотного слешу.

  4. \n – новий рядок. Використовується для переходу на наступний рядок.

  5. \t – табуляція. Додає табуляцію в текст.

  6. \r – повернення каретки. Використовується для повернення в початок рядка.

  7. \b – backspace, використовується для видалення останнього символу.

  8. \uXXXX – Юнікод-символ, де XXXX – код символу.

  9. \xNN – символ з ASCII-кодом NN у шістнадцятковому форматі.

"Hello, \"...\"" // Hello, "..."
"_)\r(" // ()
"Fo\bo, Baz" // Fo, Baz

"C:\\user" // C:\user
"C:\user" // Помилка: SyntaxError: truncated \uXXXX escape.

"Hola?\nHello?"
// Hola?
// Hello?

Методи рядків

Ось опис методів рядків у Mash Script:

Тут немає анотацій для параметрів, які приймають тип string.

Методи об’єкту

  1. replace(old, new, count: int=-1) – Заміна всіх входжень old іншим підрядком (new).

  2. split(sep=” ”) → array[string] – Розділення рядка на частини на основі певного роздільника (sep).

  3. count(substr) → int – Підрахунок кількості входжень підрядка в рядку.

  4. join(arr: array) – Об'єднання елементів масиву в один рядок, використовуючи поточний рядок як роздільник.

  5. find(substr, start: int=null, end: int=null) → int – Пошук першого входження підрядка в рядку, повертаючи його індекс або -1, якщо не знайдено.

  6. addr(substr, count: int=1) – Заповнює рядок пробілами або іншими символами справа, щоб досягти певної довжини.

  7. addl(substr, count: int=1) – Додавання підрядка на початок поточного рядка, щоб досягти певної довжини.

  8. startswith(substr) → boolean – Перевірка, чи починається рядок з певного підрядка.

  9. endswith(substr) → boolean – Перевірка, чи закінчується рядок певним підрядком.

  10. expandtabs() – Замінює символи табуляції пробілами відповідно до заданої ширини табуляції.

  11. isempty() → boolean – Перевіряє, чи є рядок порожнім.

  12. format([args], mask=”%”) – Форматує рядок за допомогою вказаних параметрів.

  13. get_chars(index: int, count: int) – Отримання символів з рядка за вказаними індексами.

  14. charat(index: int) – Отримання символа за заданим індексом.

  15. equals(str) → boolean – Перевірка на рівність рядків, ігноруючи регістр ('A' == 'a').

  16. index(substr) – Повертає перший індекс входження підрядка.

  17. rindex(substr) – Повертає останній індекс входження підрядка.

  18. swapcase() – Змінює регістр кожного символа на протилежний.

  19. lower() – Перетворює всі символи рядка на малі.

  20. upper() – Перетворює всі символи рядка на великі.

  21. title() – Робить першу літеру кожного слова великою.

  22. set_char(index: int, char) → string – Встановлює символ на задану позицію в рядку.

  23. set_chars(index: int, count: int, substr) → string – Встановлює групу символів у рядку за вказаними індексами.

  24. isnumber() → boolean – Перевіряє, чи є рядок числом.

  25. isint() → boolean – Перевіряє, чи є рядок цілим числом.

  26. isdigit() → boolean – Перевіряє, чи складається рядок лише з цифр.

  27. isalpha() → boolean – Перевіряє, чи складається рядок лише з літер.

  28. isalnum() → boolean – Перевіряє, чи складається рядок лише з букв та цифр.

  29. islower() → boolean – Перевіряє, чи всі літери в рядку є малими.

  30. isupper() → boolean – Перевіряє, чи всі літери в рядку є великими.

  31. istitle() → boolean – Перевіряє, чи кожне слово в рядку починається з великої літери.

  32. isspace() → boolean – Перевіряє, чи складається рядок лише з пробілів.

Методи класу

  1. string.from_ascii(char) → string – Створює рядок з ASCII-коду.

  2. string.ascii(char) → string – Отримує ASCII-код символа в рядку.

Artigos sobre empresas locais e pessoas interessantes:

Compartilhe suas ideias em uma nova publicação.
Estamos aguardando sua longa leitura!
Romashka

Romashka

@Romashka

Створюю інтерпретатор Mash Src

11Leituras longas
356Visualizações
2Seguidores
Em Drukarnia desde 16 de março 2024

Mais do autor

  • Mash Script: Оголошення функцій

    Ця публікація охоплює основи роботи з функціями в мові програмування Mash Script: оголошення, використання опціональних параметрів, повернення значень, продвинуту типізацію та створення анонімних функцій.

    Tópicos desta longa leitura:

    Mash Script

Você também pode estar interessado em:

  • 5 уроків, які я виніс з 2 півотів на Scrimmage

    Коли ви робите інвестиції, кожен ваш грошовий рух вимірюється і перевіряється, але коли ви робите ставки на спорт, ви покладаєтеся тільки на своє внутрішнє чуття, чому так? Чому б нам не змінити це і не дати кожному гравцю на спортивних ставках силу інвестора?

    Tópicos desta longa leitura:

    Стартап
  • Комплексні числа у Python

    Всіх вітаю! У цій невеличкій статті ми дізнаємося як створювати комплексні числа та як працювати з ними. Ми роглянемо два способи створення комплексних чисел та оглянемо декілька функцій з модуля, котрий спеціалізується на роботі з ними.

    Tópicos desta longa leitura:

    Програмування
  • Браузер швидкий існує

    один із найпопулярніших веббраузерів для ПК та Android. Він вирізняється високою швидкістю роботи, широкою підтримкою розширень, синхронізацією даних між пристроями та сучасними засобами захисту конфіденційності.

    Tópicos desta longa leitura:

    Корисні Програми

Comentários (0)

Apoie o autor primeiro.
Escreva um comentário!

Você também pode estar interessado em:

  • 5 уроків, які я виніс з 2 півотів на Scrimmage

    Коли ви робите інвестиції, кожен ваш грошовий рух вимірюється і перевіряється, але коли ви робите ставки на спорт, ви покладаєтеся тільки на своє внутрішнє чуття, чому так? Чому б нам не змінити це і не дати кожному гравцю на спортивних ставках силу інвестора?

    Tópicos desta longa leitura:

    Стартап
  • Комплексні числа у Python

    Всіх вітаю! У цій невеличкій статті ми дізнаємося як створювати комплексні числа та як працювати з ними. Ми роглянемо два способи створення комплексних чисел та оглянемо декілька функцій з модуля, котрий спеціалізується на роботі з ними.

    Tópicos desta longa leitura:

    Програмування
  • Браузер швидкий існує

    один із найпопулярніших веббраузерів для ПК та Android. Він вирізняється високою швидкістю роботи, широкою підтримкою розширень, синхронізацією даних між пристроями та сучасними засобами захисту конфіденційності.

    Tópicos desta longa leitura:

    Корисні Програми