Изменения

м
→‎Наследование: укзанной -> указанной
Строка 140: Строка 140:  
С первой строкой, я думаю, всё понятно, но во второй "''return''" на той же строке, что и "''if''", разве так можно? Да, если после системного оператора(''for'', ''if'', ''while'' и прочее) вам хватает лишь одной строки, то можно поставить код прямо на той же строке, точно также мы можем написать "''for(var/mob/m in range(r)) m << "You feel some heat."''" в одну строку. Но не переусердствуйте с этим, обычно так лаконично смотрится лишь простой код.
 
С первой строкой, я думаю, всё понятно, но во второй "''return''" на той же строке, что и "''if''", разве так можно? Да, если после системного оператора(''for'', ''if'', ''while'' и прочее) вам хватает лишь одной строки, то можно поставить код прямо на той же строке, точно также мы можем написать "''for(var/mob/m in range(r)) m << "You feel some heat."''" в одну строку. Но не переусердствуйте с этим, обычно так лаконично смотрится лишь простой код.
   −
Следующая строка с ''for'' это цикл, довольно сложная строчка, я скажу, поэтому разберём её по кусочкам с конца: ''range(n)'' это системный метод бьёнда, который возвращает связный список "''list''" (далее). "''in''" это также системный оператор, но немного другой. Он сверяет список справа с условием слева и возвращает уже фильтрованный список. Вообще данная строка читается как "Для (''for'') всех объектов типа ''/mob(var/mob/m)'' в (''in'') радиусе 3 (''range(3)'')". Внимательные уже заметили "''var''" и, возможно, поняли, что мы создали переменную в цикле. Но чего мы этим добиваемся? Для этого надо рассмотреть работу "''for''" - он начинает листать список: берёт первый элемент списка, присваивает его укзанной и созданной специально для этого переменной, указанной в самом "''for'''е", исполняет код, указанный ниже него, потом повторяет, пока не кончатся объекты или не встретится оператор "''break''", который как "''return''" прерывает исполнение, но не метода, а конкретного цикла. Это самый сложный к описанию элемент и если вы его поняли - вы поймёте и дальше.
+
Следующая строка с ''for'' это цикл, довольно сложная строчка, я скажу, поэтому разберём её по кусочкам с конца: ''range(n)'' это системный метод бьёнда, который возвращает связный список "''list''" (далее). "''in''" это также системный оператор, но немного другой. Он сверяет список справа с условием слева и возвращает уже фильтрованный список. Вообще данная строка читается как "Для (''for'') всех объектов типа ''/mob(var/mob/m)'' в (''in'') радиусе 3 (''range(3)'')". Внимательные уже заметили "''var''" и, возможно, поняли, что мы создали переменную в цикле. Но чего мы этим добиваемся? Для этого надо рассмотреть работу "''for''" - он начинает листать список: берёт первый элемент списка, присваивает его указанной и созданной специально для этого переменной, указанной в самом "''for'''е", исполняет код, указанный ниже него, потом повторяет, пока не кончатся объекты или не встретится оператор "''break''", который как "''return''" прерывает исполнение, но не метода, а конкретного цикла. Это самый сложный к описанию элемент и если вы его поняли - вы поймёте и дальше.
    
Переменной ''m'' будет присваиваться моб. "''<<''" - оператор вывода. В контексте бьёнда оператор вывода посылает файл, сообщение или что-то ещё прямо на текстовое поле всех клиентов, подключённых к данному объекту. К примеру, если двое человек управляют мобом, то им обоим пришлётся сообщение, указанное справа.
 
Переменной ''m'' будет присваиваться моб. "''<<''" - оператор вывода. В контексте бьёнда оператор вывода посылает файл, сообщение или что-то ещё прямо на текстовое поле всех клиентов, подключённых к данному объекту. К примеру, если двое человек управляют мобом, то им обоим пришлётся сообщение, указанное справа.
62

правки