Var/ru: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Var/ru
| Old | New | Line | |
|---|---|---|---|
| 1 | + | **Var** является [[Keyword/ru|ключевым словом]], которое используется для двух разных целей: | |
| 2 | + | ||
| 3 | + | - обозначает начало секции объявления переменных | |
| 4 | + | - указывает, что параметры в функцию или процедуру передаются по ссылке вместо передачи по значению | |
| 5 | + | ||
| 6 | + | ## Объявление переменных | |
| 7 | + | ||
| 8 | + | Var используется для обозначения секции, где объявляются [[Variable/ru|переменные]] и их [[Type/ru|типы]]. Переменные обычно объявляются в начале [[Program/ru|программы]], [[Procedure/ru|процедуры]], [[Function/ru|функции]] или [[Unit/ru|модуля]]. | |
| 9 | + | ||
| 10 | + | ``` pascal | |
| 11 | + | var | |
| 12 | + | age: integer; | |
| 13 | + | ``` | |
| 14 | + | ||
| 15 | + | Если вы собираетесь использовать несколько переменных одного и того же типа, они могут быть сгруппированы, поэтому они определяются одинаково. В этом случае переменные должны отделяться друг от друга [[Comma/ru|запятой]]. | |
| 16 | + | ||
| 17 | + | ``` pascal | |
| 18 | + | var | |
| 19 | + | FirstName, LastName, address: string; | |
| 20 | + | ``` | |
| 21 | + | ||
| 22 | + | ## Передача по ссылке | |
| 23 | + | ||
| 24 | + | Когда **var** используется перед параметром [[Procedure/ru|процедуры]] или [[Function/ru|функции]], то это означает, что параметр является [[Variable parameter/ru|параметром-переменной]]. Параметр-переменная используется для получения данных из процедуры или функции, а также для передачи данных в процедуру или функцию: | |
| 25 | + | ||
| 26 | + | ``` pascal | |
| 27 | + | procedure foo( var v1: sometype; out v2: sometype; const v3: sometype ) | |
| 28 | + | begin | |
| 29 | + | v1 := v1 + v3; // ввод и возврат значения | |
| 30 | + | v2 := v3; // только возврат значения | |
| 31 | + | v3 := myconst; // неизменный параметр... только ввод | |
| 32 | + | end; | |
| 33 | + | ``` | |
| 34 | + | ||
| 35 | + | ## См. также | |
| 36 | + | ||
| 37 | + | - [[Variable parameter/ru|Параметр-переменная]] | |
| 38 | + | - [[Local variables/ru|Локальные переменные]] | |
| 39 | + | - [[Global variables/ru|Глобальные переменные]] | |
| 40 | + | ||
| 41 | + | --- | |
| 42 | + | *From the Free Pascal wiki, page "Var/ru", as it stood on 2020-03-03 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
