Smalltalk в примерах/Управляющие структуры: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 13:
==Условное выполнение==
 
ПростейшэйПростейшей из условных структур является выполнение блока кода если некоторое условие истинно (или ложно). В Смолток есть два сообщения,: одно когда условие истинно и одно когда оно ложно. Оба сообщения посылаются экзэмпляруэкземпляру класса \emph{Логический} (т.е. \emph{истина} или \emph{ложложь}). Есть два основных подхода---
<!--
The simplest type of conditional execution is to only execute a particular block of code if some condition is true (or false). In Smalltalk, there are two messages, one for when the condition is true and one for when it's false. Both messages are sent to an instance of Boolean (ie, to true or false). Here is the general approach, with an example.
-->
логическоеЗначение истина?: [некоторый код].
логическоеЗначение ложложь?: [некоторыйдругой код].
 
3 < 4 истина?: [Транскрипт пс; показать: 'Истина']
 
ТыЭто можэш расшыритьозначает, этичто примерынекоторый некоторымкод кодомвыполняется если условие истинно, иа другой другимкод кодомвыполняется если условие ложно. В Смолтоке ты пишэш следующее. Блоки \verb|истина?:| и \verb|ложложь?:| могут идти в произвольном порядке. Например, если блок \verb|истина?:| достаточно длинный, поместиможно поместить блок \verb|ложложь?:| первым.
 
<!--
Строка 29:
логическоеЗначение
истина?: [некоторый код]
ложложь?: [некоторыйдругой код].
 
логическоеЗначение
ложложь?: [некоторый код]
истина?: [некоторыйдругой код].
 
Например,
Строка 41:
3 < 4
истина?: [Транскрипт пс; показать: 'Истина']
ложложь?: [Транскрипт пс; показать: 'ЛожЛожь'].
 
Смолток не предоставляет простовапростой способаконструкции, дляаналогичной конструкцыи CCшной \verb|if () {}| \verb|else if () {}| \verb|else {}|. ТыНо можэш можно это сделать это при помощи вложэния как здесьвложенний:
 
<!--
Строка 58:
]
 
Однако, такой тип кода скорее очень поцэдурныйпроцедурный чем объектно -ориентированный. Если тывы увидишзаметите, что ты пишэшпишете код подобныйв этомуподобном стиле, то возможно настало время подумать о том, как тывы пишэшпишете программы. Смотри ---.
 
<!--