Упрощенный синтаксис (PascalABC.NET): различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «{{TOCRight}} Если тело процедуры или функции состоит из одного оператора, PascalABC.NET позволяет и...») |
|||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 9: | Строка 9: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Упрощенный синтаксис делает программу более компактной. Мы могли бы записать функцию Sqrt3(x) и так: | + | Упрощенный синтаксис делает программу более компактной. Мы могли бы записать функцию вычисления кубического корня Sqrt3(x) и так: |
<syntaxhighlight lang="pascal" line> | <syntaxhighlight lang="pascal" line> | ||
Строка 15: | Строка 15: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Тип здесь выводится автоматически из типа выражения: операция возведения в степень всегда дает тип real. Но при желании вы можете указать тип для тех, кто будет читать вашу программу и незнаком с правилами автовыведения типов в PascalABC.NET. | + | Тип здесь выводится автоматически из типа выражения: операция возведения в степень всегда дает тип real. |
+ | |||
+ | Но при желании вы можете указать тип для тех, кто будет читать вашу программу и незнаком с правилами автовыведения типов в PascalABC.NET. |
Текущая версия на 20:00, 21 мая 2023
Если тело процедуры или функции состоит из одного оператора, PascalABC.NET позволяет использовать при описании упрощенный синтаксис без begin и end.
1 procedure Имя(параметр1; параметр2; …) := оператор;
2 function Имя(параметр1; параметр2; …): тип := выражение;
3 function Имя(параметр1; параметр2; …) := выражение;
Упрощенный синтаксис делает программу более компактной. Мы могли бы записать функцию вычисления кубического корня Sqrt3(x) и так:
1 function Sqrt3(x: real) := Sign(x) * Abs(x) ** (1 / 3);
Тип здесь выводится автоматически из типа выражения: операция возведения в степень всегда дает тип real.
Но при желании вы можете указать тип для тех, кто будет читать вашу программу и незнаком с правилами автовыведения типов в PascalABC.NET.