Недочёт в документации

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Недочёт в документации

Сообщение Cheb » 09.02.2020 22:51:53

Не совсем очевидный момент в https://wiki.freepascal.org/Inherited
:
нет примера с функциями, из за чего не ясно, что формат вызова должен быть
Код: Выделить всё
Result:= inherited;

а не
Код: Выделить всё
inherited;


Неочевидно, поскольку параметры и название метода можно опускать, то может показаться, что
Код: Выделить всё
inherited;

вам и в ваш Result само запишет, и сопельки подотрёт.
Забывчивый я поимел +полчаса отладки.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Недочёт в документации

Сообщение SSerge » 10.02.2020 07:22:08

А что, в каком-либо ином языке в подобных случаях можно обойтись без прямого присваивания результату функции или конструкций типа return super(); ?
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Недочёт в документации

Сообщение serbod » 10.02.2020 11:19:27

Cheb писал(а):нет примера с функциями

Теперь есть. =)
Аватара пользователя
serbod
постоялец
 
Сообщения: 449
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск

Re: Недочёт в документации

Сообщение zub » 10.02.2020 14:42:01

Тоже сталкивался с этим, и тоже минус полчаса-час отладки до понимания))
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: Недочёт в документации

Сообщение Cheb » 12.02.2020 17:25:31

Теперь есть. =)

О, круто :)
Теперь добавить ещё вариант
Код: Выделить всё
function TMyClass.GetObject(Index: Integer): TObject;
begin
  // You can omit function name and parameters
  // but you must take care of the result.
  Result := inherited; 
end;
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

Рейтинг@Mail.ru