Processing:Примеры/Масштаб переменных: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Перевод от С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>= | ||
Строка 76: | Строка 73: | ||
}} | }} | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
int a = 80; // создаем глобальную переменную "a" | int a = 80; // создаем глобальную переменную "a" | ||
Строка 128: | Строка 125: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | |||
{{Навигационная таблица/ | |||
Текущая версия от 02:07, 27 августа 2023
Содержание | Среда разработки Processing | Справочник языка 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);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |