Упрощенный синтаксис (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.