Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 17 июн 2025, 17:17

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Процедуры
СообщениеДобавлено: 30 май 2017, 18:33 
Не в сети

Сообщения: 116
Откуда: Каменск-Уральский
Цитата:
В ББ с этим всё хорошо, но мы не знаем, на каком Обероне работает Len, он нам не сказал

Я пишу в ББ, но стараюсь использовать Оберон 2.

Вопрос такой, если процедура выглядит так:
Код: "OBERON"
  1. PROCEDURE vasya (VAR i: INTEGER): BOOLEAN;
  2. IF i = 5 THEN RETURN TRUE END;
  3. END vasya;


то как её вызывать? Может так е := vasya(5)?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Процедуры
СообщениеДобавлено: 30 май 2017, 19:00 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Len писал(а):
Может так е := vasya(5)?
Нет, так нельзя. Параметр i передаётся по ссылке (с VAR, а значит он может быть только переменной, которая доступна для модификации внутри процедуры).

Чтобы можно было передавать в качестве параметра и число, и переменную, то следует передавать по значению, и в этом случае VAR не пишем:
Код: "OBERON"
  1. PROCEDURE vasya (i: INTEGER): BOOLEAN;
  2. IF i = 5 THEN RETURN TRUE END;
  3. END vasya;


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 2 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club