Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


Ambox content.png Черновик


Описание[1]

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

Пример

  1. int a = 80;  // создаем глобальную переменную "a"
  2.  
  3. void setup() {
  4.   size(640, 360);
  5.   background(0);
  6.   stroke(255);
  7.   noLoop();
  8. }
  9.  
  10. void draw() {
  11.   // рисуем линию при помощи глобальной переменной "a"
  12.   line(a, 0, a, height);
  13.  
  14.   // создаем новую переменную "a" – локальную для цикла for():
  15.   for (int a = 120; a < 200; a += 2) {
  16.     line(a, 0, a, height);
  17.   }
  18.  
  19.   // создаем новую переменную "a" – локальную для блока draw():
  20.   int a = 300;
  21.   // рисуем линию при помощи новой локальной переменной "a":
  22.   line(a, 0, a, height);  
  23.  
  24.   // вызываем пользовательскую функцию drawAnotherLine():
  25.   drawAnotherLine();
  26.  
  27.   // вызываем пользовательскую функцию setYetAnotherLine():
  28.   drawYetAnotherLine();
  29. }
  30.  
  31. void drawAnotherLine() {
  32.   // создаем новую переменную "a" – локальную для этой функции:
  33.   int a = 320;
  34.   // рисуем линию при помощи локальной переменной "a":
  35.   line(a, 0, a, height);
  36. }
  37.  
  38. void drawYetAnotherLine() {
  39.   // поскольку в этой функции не задано локальной переменной "a",
  40.   // линия будет нарисована при помощи глобальной переменной "a",
  41.   // имеющей значение «80»:
  42.   line(a+2, 0, a+2, height);
  43. }

См.также

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

  1. processing.org - Variable Scope