WikiDer > Обозначение скобок

Brace notation

В нескольких языки программирования, такие как Perl, фигурная скобка это более быстрый способ извлечь байты из нить Переменная.

В псевдокоде

Пример обозначения скобок с использованием псевдокода, который извлекает 82-й символ из строки:

a_byte = a_string {82}

Эквивалент этого с использованием гипотетической функции MID:

a_byte = MID (a_string, 82, 1)

В C

В C, строки обычно представлены как массив символов, а не как фактический строковый тип данных. Тот факт, что строка на самом деле является массивом символов, означает, что ссылка на строку будет означать ссылку на первый элемент в массиве. Следовательно, в C следующий пример правильной записи скобок:

#включают <stdio.h>#включают <string.h>#включают <stdlib.h>int основной(int argc, char* argv[]) {       char* строка = "Тест";       printf("% c",строка[0]); // Будет печатать "T"       printf("% c",строка[1]); // Напечатал бы "e"       printf("% c",строка[2]); // Напечатал бы "s"       printf("% c",строка[3]); // Напечатал бы "t"       printf("% c",строка[4]); // Будет печатать нулевой символ (ASCII 0) для конца строки       вернуть(0);}

Обратите внимание, что каждый из a_string [n] будет иметь тип данных 'char', в то время как сама a_string будет возвращать указатель на первый элемент в массиве символов a_string.

В C #

C # обрабатывает обозначения скобок иначе. Строка - это примитивный тип который возвращает char при обнаружении скобок:

Строка вар = "Привет, мир";char час = вар[0];char е = вар[1];Строка хе-хе = час.Нанизывать() + е.Нанизывать(); // строка "он"хе-хе += хе-хе; // строка "хе-хе"

Чтобы изменить char введите строку в C #, используйте метод Нанизывать(). Это позволяет объединять отдельные символы с помощью символа добавления + который действует как символ конкатенации при работе со строками.

В Python

В Python, струны неизменный, поэтому сложно изменить существующую строку, но, к счастью, ее легко извлечь и соединять строки друг к другу: извлекать символы стало еще проще:

>>> вар = 'Привет, мир'>>> вар[0]  # вернуть первый символ как однобуквенную строку'час'>>> вар[-1]'d'>>> вар[len(вар)-1]  #len (var) - длина строки в var; len (var) -1 - это индекс последнего символа строки.'d'>>> вар = вар + ' ' + вар[8] + вар[7] + вар[2] + вар[1]>>> вар"привет, мировая роль"

Python гибок, когда дело касается деталей, обратите внимание var [-1] принимает -1 в качестве порядкового номера. Этот индекс интерпретированный как первый символ, начиная с конца строки. Считайте 0 границей индекса для строки; ноль является включительным, поэтому он вернет первый символ. При индексе 1 и выше все символы, принадлежащие каждому индексу, «извлекаются» слева направо. При индексе -1 и ниже все символы «извлекаются» справа налево. Поскольку перед индексом 0 больше нет символов, Python «перенаправляет» курсор в конец строки, где символы читаются справа налево. Если строка имеет длину п, то граница максимального индекса равна п-1 а граница минимального индекса равна -n который возвращает тот же символ, что и индекс 0, а именно первый символ.

Также возможно извлечь последовательность символов:

>>> вар[0:5]'Здравствуйте'

Обратите внимание, что последнее число в последовательности является эксклюзивным. Python извлекает символы, начиная с индекса 0 и заканчивая 5.

Также можно извлечь каждый Икс символ в последовательности, в данном случае x = 2:

>>> вар = 'abcdefghijklmn'>>> вар[0:len(вар):2]'acegikm'

В PHP

PHP строки могут стать очень большими и могут использовать всю доступную память, если встречается достаточно большая строка. Обычно, если это так, может быть лучше разделить () строку на массив для более точного управления. Обозначение скобок в PHP выглядит так:

$ а = "Привет" . 'Мир';$ c = $ а[0] . $ а[1] . $ а[8] . $ а[3] . $ а[6];эхо $ c ." ".Strlen($ c); // Привет 5

Обратите внимание, что переменная $ а принимает символы внутри двойная кавычка или одинарная кавычка как та же строка. PHP ожидает, что строка будет заканчиваться той же кавычкой, что и открывающая кавычка. Обозначение скобок в строке всегда возвращает тип строки.

В JavaScript

JavaScript Обозначение скобок работает так же, как в C # и PHP.

вар myString = "Привет" + "Мир";тревога(myString[0] + " " + myString[5]); // предупреждает сообщение: H W

В MATLAB

MATLAB обрабатывает нотацию скобок немного иначе, чем в большинстве распространенных языков программирования.

>> вар = 'Привет мир'вар =Здравствуйте Мир>>вар(1)ответ =ЧАС

Строки начинаются с индекса 1, заключенного в скобка, поскольку они рассматриваются как матрицы. Полезной чертой обозначения скобок в MATLAB является то, что он поддерживает диапазон индексов, как и Python:

>> вар(1:8)ответ =Здравствуйте Wo>> вар(1:длина(вар))ответ =Здравствуйте Мир

Использование квадратных скобок [ ] зарезервирован для создания матриц в MATLAB.

Смотрите также