Jump to content

Обозначение фигурных скобок

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

В псевдокоде

[ редактировать ]

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

a_byte = a_string{82}

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

a_byte = MID(a_string, 82, 1)

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

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char* argv[]) {
    char* a_string = "Test";
    printf("%c", a_string[0]); // Would print "T"
    printf("%c", a_string[1]); // Would print "e"
    printf("%c", a_string[2]); // Would print "s"
    printf("%c", a_string[3]); // Would print "t"
    printf("%c", a_string[4]); // Would print the 'null' character (ASCII 0) for end of string
    return(0);
}

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

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

String var = "Hello World";
char h = var[0];
char e = var[1];
String hehe = h.ToString() + e.ToString(); // string "he"
hehe += hehe; // string "hehe"

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

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

>>> var = 'hello world'
>>> var[0]  # Return the first character as a single-letter string
'h'
>>> var[-1]
'd'
>>> var[len(var)-1]  # len(var) is the length of the string in var; len(var)-1 is the index of the last character of the string.
'd'
>>> var = var + ' ' + var[8] + var[7] + var[2] + var[1]
>>> var
'hello world role'

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

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

>>> var[0:5]
'hello'

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

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

>>> var = 'abcdefghijklmn'
>>> var[0:len(var):2]
'acegikm'

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

$a = "Hello" . 'World';
$c = $a[0] . $a[1] . $a[8] . $a[3] . $a[6];
echo $c . " " . strlen($c); // Hello 5

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

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

var myString = "Hello" + "World";
alert(myString[0] + " " + myString[5]); // alerts the message: H W

В МАТЛАБ

[ редактировать ]

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

>> var = 'Hello World'

var =

Hello World

>> var(1)

ans =

H

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

>> var(1:8)

ans =

Hello Wo

>> var(1:length(var))

ans =

Hello World

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

См. также

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d4a2772eadd6fa82c72620bf3e472ddc__1717441500
URL1:https://arc.ask3.ru/arc/aa/d4/dc/d4a2772eadd6fa82c72620bf3e472ddc.html
Заголовок, (Title) документа по адресу, URL1:
Brace notation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)