OberonCore https://forum.oberoncore.ru/ |
|
что означает одинарная кавычка? https://forum.oberoncore.ru/viewtopic.php?f=35&t=6543 |
Страница 1 из 1 |
Автор: | snark [ Среда, 22 Январь, 2020 17:42 ] |
Заголовок сообщения: | что означает одинарная кавычка? |
что означает одинарная кавычка (здесь пример из самого конца модуля Files). stdDir' = NIL stdDir = d stdDir' # NIL stdDir = stdDir' dir = d |
Автор: | adimetrius [ Среда, 22 Январь, 2020 21:24 ] |
Заголовок сообщения: | Re: что означает одинарная кавычка? |
Расшифровка: Код: Pre (* Предусловие: *) d # NIL 20 (* Если процедура будет вызвана с d = NIL, то получится трап 20 - т.е. ее нельзя вызывать с d = NIL *) Post (* Постусловие: *) stdDir' = NIL (* в случае, когда прежнее значение stdDir было NIL *) stdDir = d (* новое значение stdDir будет равно d *) stdDir' # NIL (* а в случае, когда прежнее значение stdDir не было NIL *) stdDir = stdDir' (* новое значение stdDir будет равно прежнему значению stdDir - т.е. не изменится *) dir = d (* новое значение dir будет равно d (в любом случае) *) Это не часть языка, это соглашение, принятое в математических текстах. Например, q' читается "ку штрих". В применении к документации, обычно это означает "новое значение q" либо "прежнее значение q". Например, пусть есть процедура Abs (VAR x: INTEGER). Ее можно описать так: "Процедура Abs помещает в переменную x значение модуля того значения, которое ей было передано в x". А можно лаконично, точно и математично - так: Post x = ABS(x') Здесь x означает Новое значение х, а х' - прежнее значение x. (Иногда наоборот). Слово Post означает "постусловие", а Pre - предусловие. Предусловие - это логические соотношения, которые должны быть обеспечены вызывающей процедурой; постусловия - это логические соотношения, которые вызванная процедура обеспечивает по завершении своей работы. Если вы не знакомы с пред-, пост-условиями и инвариантами, могу порекомендовать Грис Д. "Наука программирования" - увлекательное чтение и возможность существенно прокачать хардскилы в программировании-в-малом. |
Автор: | Александр Ильин [ Воскресенье, 26 Январь, 2020 14:27 ] |
Заголовок сообщения: | Re: что означает одинарная кавычка? |
Одиночная кавычка всегда обозначает новое/модифицированное/выходное значение переменной. Если где-то используется в значении прежнего значения, это ошибка в документации. |
Автор: | adimetrius [ Воскресенье, 26 Январь, 2020 16:18 ] |
Заголовок сообщения: | Re: что означает одинарная кавычка? |
Александр Ильин писал(а): Одиночная кавычка всегда обозначает новое/модифицированное/выходное значение переменной. Если где-то используется в значении прежнего значения, это ошибка в документации. Согласен с Александром; но, кмк, в ББ-документации всегда "наоборот": апострофом обозначают прежнее. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |