Работа с переменными | Шокирующая правда о строках

Вы когда-нибудь задумывались, что вы знаете о строках? Нет? Может вы и вовсе о них ничего не знаете? Давайте я вам расскажу. Присаживайтесь к костру, накалывайте на палку зефир и слушайте историю

Строки это набор символов. Длина строки где-то там ограничена, но зачастую лимит этой длины никому не нужен, потому как даже мегабайт информации копить в одной строке, это слишком жирно. Строки сложнее чисел, потому, что у строк есть много больше параметров, но об этом позже, мы пока сделаем вид, что абсолютно ничего не слышали о слове “параметры” и вспомним о нем через несколько статей с фразой “где-то это уже пролетало у меня на слуху… хмм”. Краткий ликбез по тому, что такое строки, считаю законченным: набор символов и все тут, даже если нет символов, то все равно набор из нуля символов. Давайте лучше что-нибудь напишем каверзное. Открывайте Main.as, стирайте ваши предыдущие старания с цифрами (ну или оставьте, если очень нравится вам результат), творите:

var hello: String = "Привет";
var world: String = 'мирочек';
var helloWorld: String = hello + world;
trace(helloWorld);

Смотрим, что тут произошло: во-первых, вы помните, что тип строки это String, во-вторых, тут видно, что первая строчка в двойных кавычках записана, а вторая строчка в одинарных. В-третьих, мы видим, что строки можно складывать. Но что мы видим? Я уверен, вы ожидали увидеть “Привет мирочек”, но увидели “Приветмирочек”. А все потому, что пробел это тоже символ. Давайте его добавим прямо в переменной helloWorld:

var hello: String = "Привет";
var world: String = 'мирочек';
var helloWorld: String = hello + " " + world;
trace(helloWorld);

Теперь все ок. Давайте теперь поучимся писать текст с кавычками:

var once: String = "'одинарные'";
var double: String = '"двойные"';
var multi: String = "'" + '"' + 'всякие' + '"' + "'";
trace(once, double, multi);

В первой строке мы в двойные кавычки взяли одинарные. Во второй строке мы одинарные взяли в двойные. В третьей строке мы попеременно брали в одинарные кавычки двойные, в двойных кавычках одинарные и вот так вот выкрутились из ситуации. Но я вам расскажу еще об одном чудном символе, его имя — обратный слеш. Он пишется так: “\”. Всякий раз, как в строке вы ставите обратный слеш перед каким-то символом, его (слеша, а еще и иногда символа) не будет видно. Если же это кавычка, то она не будет учитываться как закрывающая. Вот, глядите:

var slash: String = "обратный \"слэш\"";
trace(slash);

Так же есть несколько комбинаций с этим обратным слешом: \n делает перевод на новую строку (\r иногда тоже), \t делает табуляцию, а спомощью двойного обратного слеша можно написать сам слеш, вот такие дела:

trace('\\Привет\n,\tмирочек\\');

Как вы понимаете, можно складывать числа и строки:

var num1: Number = 204;
var num2: Number = 48294;
var sum: Number = num1 + num2;
var result: String = num1 + ' + ' + num2 + ' = ' + sum;
trace(result);

Мы увидим внизу “204 + 48294 = 48498″. Это ведь так мило

Также я рекомендую вам обратить внимание на код ошибки, который появляется, если вы забыли закрыть скобку или что-то в этом роде со строкой:

Error: Syntax error: A string literal must be terminated before the line break.

После этой ошибки пойдет целая серия ошибок о недозакрытых фигурных скобках, но об этом позже. Просто запомните и дважды нажмите на ошибку самую первую, вам покажет, где вы ошиблись, и просмотрите строчку кода на предмет какой-нибудь бяки.

У лукоморья дуб зелёный;
Златая цепь на дубе том:
И днём и ночью кот учёный
Всё ходит по цепи кругом;

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

(первый способ, это написать в одну строку, и каждый столбик разделять с помощью \n, а второй способ это 4 раза протрейсить 4 разных строчки)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>