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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Строка 3: Строка 3:
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
{{Черновик}}


=Описание<ref>[https://processing.org/examples/variablescope.html processing.org - Variable Scope]</ref>=
=Описание<ref>[https://processing.org/examples/variablescope.html processing.org - Variable Scope]</ref>=
Строка 121: Строка 119:
}
}
</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);
}
}}
=См.также=
=См.также=


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


{{SEO
|Заголовок статьи=Processing: Масштаб переменных / Онлайн справочник - wikihandbk.com
|Ключевые слова=processing,Масштаб переменных ,Масштаб переменных в processing,Масштаб переменных пример , пример Масштаб переменных в processing
|Описание статьи=
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Примеры/Масштаб переменных</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2018-07-23
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Processing/Примеры}}
{{Навигационная таблица/Processing/Примеры}}
{{Навигационная таблица/Телепорт}}
{{Навигационная таблица/Телепорт}}

Версия от 02:16, 22 февраля 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);
}

{{#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);

} }}

См.также

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