Processing:Примеры/Масштаб переменных: различия между версиями
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 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 /> | ||
{{Навигационная таблица/Справочник языка Processing}} | {{Навигационная таблица/Справочник языка Processing}} | ||
{{Навигационная таблица/Processing/Примеры}} | {{Навигационная таблица/Processing/Примеры}} | ||
{{Навигационная таблица/Телепорт}} | {{Навигационная таблица/Телепорт}} |
Версия от 02:16, 22 февраля 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);
}
{{#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);
} }}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |
- Страницы с устаревшим атрибутом подсветки синтаксиса «enclose»
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Processing
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом