Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Как правильно назвать передачу параметров VAR? https://zx.oberon.org/forum/viewtopic.php?f=79&t=489 |
Страница 1 из 1 |
Автор: | budden [ 05 авг 2020, 21:08 ] |
Заголовок сообщения: | Как правильно назвать передачу параметров VAR? |
https://www.intuit.ru/studies/courses/4453/686/lecture/14090?page=2 Здесь она называется передачей по ссылке. Но тогда возникает некоторая неясность со ссылочными типами. Если мы передаём объект в процедуру, то он уже сразу передаётся "по ссылке", хотя параметр-то по значению. Т.е. конфликт похожих понятий в близкой по смыслу области. В другом месте такая передача называется передачей по имени: https://infopedia.su/19x5463.html Вот эта программка Код: "OBERON"
Печатает вот это: Код: "OBERON"
Всё же не поворачивается язык называть передачу ссылки на эл-т массива передачей по имени... Пока назову "параметр-переменная". А что делать тогда с const? |
Автор: | Zorko [ 06 авг 2020, 16:46 ] |
Заголовок сообщения: | Re: Как правильно назвать передачу параметров VAR? |
Насколько объяснили мне: передача по ссылке отличается от передачи указателя гарантированно тем, что объект точно существует. Тогда как указатель может быть NIL. |
Автор: | Saferoll [ 06 авг 2020, 17:09 ] |
Заголовок сообщения: | Re: Как правильно назвать передачу параметров VAR? |
Например, здесь: https://studopedia.ru/10_237326_sposobi-peredachi-parametrov-funktsiyam.html Цитата: В С++ передача параметров осуществляется тремя способами: · по копии (или по значению); · по адресу (или через указатель); · по ссылке. По ссылке (с помощью &) - больше всего похоже на VAR-параметры Паскаля/Оберона. "По имени" - это специфический способ Алгола, что-то похожее на макроподстановку. |
Автор: | budden [ 06 авг 2020, 17:45 ] |
Заголовок сообщения: | Re: Как правильно назвать передачу параметров VAR? |
Пока назвали "параметр-переменная" и возможно, что оно так и останется. CONST - тоже параметр-переменная, с ограничением "только для чтения". Хочется уменьшить нагрузку на слово "ссылка", которое перегружено смыслами. Кроме того, странно, когда в исходнике написано VAR (variable), а вслух нужно читать reference. В качестве обоснования - это перевод близко к тексту, там написано: Цитата: There are two kinds of parameters, value and variable parameters, indicated in the formal parameter list by the absence or presence of the keyword VAR "Есть два вида параметров, параметры-значения и параметры-переменные, к-рые различаются в списке форм. параметров по отсутствию или наличию слова 'ПЕРЕМ'" |
Автор: | Saferoll [ 07 авг 2020, 16:54 ] |
Заголовок сообщения: | Re: Как правильно назвать передачу параметров VAR? |
budden писал(а): странно, когда в исходнике написано VAR (variable), а вслух нужно читать reference Разногласие в терминологии из-за того, что в одном случае описывается семантика (какой эффект хотят получить), в другом - механизм достижения этого эффекта. Слова "параметр-переменная" задают семантику (мы даем процедуре переменную), а термин "передача по ссылке" описывает механизм - передаем в подпрограмму ссылку (указатель, адрес), чтобы она по этой ссылке получила доступ к переменной. |
Страница 1 из 1 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |