5.16. Условное выражение if

Source: 5.16 if

Условные выражения начинаются с ключевого слова if  ,далее следует само условие в круглых скобках ()  и выражение, которое будет вычислено в случае выполнения условия:

Условие имеет тип Bool . Это означает, что если значение выражения, записанного в condition , является истиной true , то будет выполнено то, что далее написано в expression . Иначе — не выполнится.

После expression   может следовать ключевое слово else  для задания другого выражения, которое должно быть вычислено, если условие не выполняется:

Здесь expression2  может состоять из еще одного if  -выражения:

Если значение, вычисляемое if -выражением является необходимым для дальнейших вычислений, к примеру

то возвращаемые значения должны иметь совместимые типы. Если в данной конструкции отсутствует выражение else , возвращается выражение типа Void .

Пример. Программа сравнивает значение двух выражений:

 

Лена Наумова
Лена Наумова

Latest posts by Лена Наумова (see all)

4 thoughts on “5.16. Условное выражение if

  1. — последний пример можете как-то понятнее объяснить? И «объединять» тут не совсем уместно. Скорее имеется в виду, что значения должны быть совместимых типов.
    — Либо сделайте последний код inline, либо ставьте точку с запятой в конце.
    — Потерялась ссылка на Unification.
    — Где собственный пример и собственный текст? Если бы вы попробовали запустить хоть какой-то свой пример для последнего случая, то не писали бы этой чепухи про «типизатор гарантирует что типы…» Как вы думаете, кто или что такое «typer» в этом контексте? Запустите пример

    и разберитесь, кто там что гарантирует 🙂

    • Вы правы. В последнем примере действительно подразумевалась совместимость типов.
      Добавила свой пример и свой текст.
      Что такое Unification? Ссылка на оригинальную статью в самом верху моей статьи, а ссылки на что либо еще в задании не упоминались.

  2. — В тексте вы форматируете ключевые слова как формулы. Но ведь это программный код. Т.е. логично писать if, а не [latex]if[/latex]. Аналогично с else, Void и т.п.
    — Сделайте, пожалуйста, ссылки на наш сайт, а не на сайт с документацией на английском. Даже если нужной статьи пока нет, можно догадаться как она будет называться. Например, относительная ссылка на 3.6 Type Inference будет выглядеть как «3-6».

Добавить комментарий