Processing:Примеры/Масштаб переменных

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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


Описание[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);
}

См.также

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