Processing:Примеры/Масштаб переменных: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
{{Processing панель перехода}}
{{Processing панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
Строка 74: Строка 73:
}}
}}


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
int a = 80;  // создаем глобальную переменную "a"
int a = 80;  // создаем глобальную переменную "a"


Строка 119: Строка 118:
}
}
</syntaxhighlight>
</syntaxhighlight>
{{#set:
Код примера=
int a = 80;  // создаем глобальную переменную "a"
void setup() {
  size(640, 360);
  background(0);
  stroke(255);
  noLoop();
}
void draw() {
  // рисуем линию при помощи глобальной переменной "a"
  line(a, 0, a, height);
 
  // создаем новую переменную "a" – локальную для цикла for():
  for (int a = 120; a < 200; a += 2) {
    line(a, 0, a, height);
  }
 
  // создаем новую переменную "a" – локальную для блока draw():
  int a = 300;
  // рисуем линию при помощи новой локальной переменной "a":
  line(a, 0, a, height); 
 
  // вызываем пользовательскую функцию drawAnotherLine():
  drawAnotherLine();
 
  // вызываем пользовательскую функцию setYetAnotherLine():
  drawYetAnotherLine();
}
void drawAnotherLine() {
  // создаем новую переменную "a" – локальную для этой функции:
  int a = 320;
  // рисуем линию при помощи локальной переменной "a":
  line(a, 0, a, height);
}


void drawYetAnotherLine() {
  // поскольку в этой функции не задано локальной переменной "a",
  // линия будет нарисована при помощи глобальной переменной "a",
  // имеющей значение «80»:
  line(a+2, 0, a+2, height);
}
}}
=См.также=
=См.также=


Строка 171: Строка 125:
<references />
<references />


{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}
{{Навигационная таблица/Processing/Примеры}}
{{Навигационная таблица/Телепорт}}

Текущая версия от 02:07, 27 августа 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Описание[1]

Переменные имеют глобальный и локальный «масштаб». К примеру, переменные, объявленные внутри блоков setup() или draw(), могут использоваться только внутри этих блоков. Глобальные переменные – это переменные, объявленные вне блоков setup() и draw() – их можно использовать в любой части программы. Если локальная переменная задана с тем же названием, что и глобальная переменная, то в текущем масштабе (в текущем блоке кода) для расчетов будет использоваться локальная переменная. Кроме того, переменные можно локализовать внутри других блоков, отделяемых символами { и }.

Пример

int a = 80;  // создаем глобальную переменную "a"

void setup() {
  size(640, 360);
  background(0);
  stroke(255);
  noLoop();
}

void draw() {
  // рисуем линию при помощи глобальной переменной "a"
  line(a, 0, a, height);
  
  // создаем новую переменную "a" – локальную для цикла for(): 
  for (int a = 120; a < 200; a += 2) {
    line(a, 0, a, height);
  }
  
  // создаем новую переменную "a" – локальную для блока draw():
  int a = 300;
  // рисуем линию при помощи новой локальной переменной "a":
  line(a, 0, a, height);  
  
  // вызываем пользовательскую функцию drawAnotherLine():
  drawAnotherLine();
  
  // вызываем пользовательскую функцию setYetAnotherLine():
  drawYetAnotherLine();
}

void drawAnotherLine() {
  // создаем новую переменную "a" – локальную для этой функции:
  int a = 320;
  // рисуем линию при помощи локальной переменной "a":
  line(a, 0, a, height);
}

void drawYetAnotherLine() {
  // поскольку в этой функции не задано локальной переменной "a",
  // линия будет нарисована при помощи глобальной переменной "a", 
  // имеющей значение «80»:
  line(a+2, 0, a+2, height);
}

См.также

Внешние ссылки