У многих, может быть, возникает вполне логический вопрос. А для чего нам нужны все эти переменные с этими типами данных? Ответ прост: для работы (с условиями, функциями или еще чем-то - не важно).
Для начала самое главное: чтобы наша переменная была доступна для использования - её нужно объявить. Как это сделать? Ответ будет ниже.
Немного информации на будущее:
При объявлении переменной ей автоматически присваивается значение 0.
Компилятор не воспринимает строку, в которой написана любая информация после двух слэшей ("//"), поэтому таким образом мы можем писать комментарии.
Название переменной может быть любым, но должно состоять из английских букв, цифр или "нижнего тире: _".
Имена переменных не должны повторяться или пересекаться с названиями функций!
В языке Pawn существуют всего четыре вида данных:
Целочисленные - целые числа (integer).
Дробные - числа с плавающей запятой (Float).
Булевые - логические (bool),
Строковые (string).
Рассмотрим каждый тип данных по отдельности.
1. Целочисленные - целые числа (integer). Числа в языке программирования "Pawn" при объявлении автоматически становятся целыми (получают тип Integer, если не указывать это в объявлении к переменной). Объявляются переменные в AMXX как и во многих языках программированию с помощью оператораnew или static.
Пример:
Код
new Chislo; // Оператор new static Chislo; // Оператор static
Чем отличаются операторы new и static? (спойлер):
Внимание, этот материал не обязателен для ознакомления, поэтому если вы не хотите грузить себя лишней информацией, то не читайте.
Оператор "new" создает новую переменную, то есть указывает на то, что нужно создать переменную и выделить на неё определенное кол-во памяти. И даже если эта переменная уже объявлена, то она всё равно вновь "переобъявляется" и перезаписывается. Оператор "static" создает статическую переменную (то есть только 1 раз). И если она уже объявлена, то она не перезаписывается, а используется в том виде и с тем значением, которые были заданы изначально.
Но это не касается глобальных переменных. Забегая вперед скажу, что все переменные, которые объявлены вне функции - глобальные. Они объявляются только один раз. А это значит, что нет смысла при объявлении глобальной переменной использовать оператор static. То есть глобальная переменная создается только один раз, статическая переменная работает по такому же принципу, но внутри функций. Статическая переменная нужна для оптимизации. Об этом и о многом другом мы поговорим в других уроках
Оператор new и static печатаются только в виде латиницы (английских символов) нижним регистром (маленькими буквами) и без пробелов.
Также мы можем этой переменной присвоить любое целочисленное значение. Примеры с оператором new:
Код
new Chislo = 150;
Или же можно и так:
Код
new Chislo; Chislo = 150;
А вот с оператором static можно работать только одним способом (не в одну строчку):
Код
static Chislo; Chislo = 150;
Так как это статическая переменная (см. "Чем отличаются операторы new и static?").
2. Дробные - числа с плавающей запятой (Float). Дробные (или вещественные) числа объявляются почти как и обычные целочисленные переменные, но с единственным отличием - к оператору new/static добавляется приставочный оператор Float:. Обратите внимание, что Float: пишется с большой буквы и с двоеточием на конце.
Вы уже должны сами видеть где оператор "new", а где "static", почему с оператором "new" можно работать в одну строчку, а с оператором "static" нельзя. А также вы должны уже различать целочисленные (целые) значения от вещественных (дробных).
3. Булевые - логические (bool). Булевые или логические переменные - это переменные, которые принимают значениеtrue = истина = 1 или false = ложь = 0.
Используются они в основном для каких-либо ограничений в функциях. Об этом мы поговорим чуть позже в других уроках.
Объявляются булевые переменные также очень просто. К оператору new/staticдобавляется приставочный оператор bool:. Обратите внимание, что данный оператор состоит из нижнего регистра (маленьких букв), а на конце обязательно должно стоять двоеточие.
В данном примере мы объявляем переменную и присваиваем ей значение "true (истина, т. е. это 1)".
Как уже было сказано выше - при объявлении любой переменной ей автоматически присваивается значение 0:
Целые числа: 0
дробные: 0.0
логические: false (то есть 0)
А это значит что следующая запись:
Код
new bool: Peremennaya;
Будет равна записи:
Код
new bool: Peremennaya = false;
Это вам так, на заметку и на будущее.
4. Строковые (string). Строковые переменные - это переменные, которые содержат в себе символьную информацию (то есть состоят из символов).
Объявляются они без различных приставочных операторов. Просто после названия переменной в квадратных скобках нужно указать максимально допустимый размер для нашей переменной. То есть если у нас переменная будет содержать какое-то предложение из слов, а длина строки (кол-во букв, пробелы и знаки препинания), например, будет равна 15, то нам в квадратных скобках нужно будет указать [15]. Но это не обязательно, можно указывать и с запасом: хоть [16], хоть [200], хоть [512] и так далее.
Пример:
Код
new Stroka[3] = "Ура"; // размер на 3 символа, слово состоит из 3 символов.
Также считается необязательным указание размера строки, то есть можно писать таким образом:
Код
new Stroka[] = "Ура"; // Пустые квадратные скобки
В этом случае максимальный размер строки будет равен длине строки (автоматически определится за вас).
Обратите внимание, что символьные данные должны быть указаны в кавычках, иначе запись
Код
new Stroka[3] = Ура;
Будет являться массивом, к тому же неверным, вместо "Ура" должно быть указано целочисленное, вещественное или логическое значение (плюсом при объявлении массива ему нельзя сразу присвоить значение). Но о массивах мы поговорим уже позже.
Не удивляйтесь, если у вас после всего этого каша в голове. Со временем (если захотите и не бросите изучение AMXX) вы всё поймете. Всё приходит со временем.