Обоснование утверждений elseif или elif на некоторых языках

Я не уверен, что это хороший вопрос, но это беспокоило меня с теоретической точки зрения. Может кто-нибудь объяснить, почему некоторые языки, такие как php, имеют явное elseif / elif, в то время как другие, такие как c ++ или java, обходятся только if и else. Казалось бы, меньше ключевых слов для запоминания предпочтительнее, чем больше ключевых слов. Есть ли какая-то польза от использования оператора elseif?

Постскриптум Я пишу книгу о языках программирования и собираю мнения по теории языкового дизайна

РЕДАКТИРОВАТЬ: Спасибо за указание на это. Теперь я понимаю, что в Python это особенно важно благодаря правилу пробелов и отступов. Я изменил мой пример с Python на PHP.

3

Решение

По моему мнению, elseif избегает чрезмерных отступов, как прокомментировал @kalhartt, для python (обязательно) и для других языков, таких как c ++ (необязательно, но обычно).

Но что более важно, я думаю elseif полезная функция, которая намекает на рабочий процесс в том смысле, что

1) больше ничего нет в else ветвь, то есть у нас нет сложных структур, таких как

if (A) {
}
else {
if (B) {...} else { ... }
i++;...
}

2) это помогает создать линейный структура похожа на switch Скажите, где

   switch (a) {
case 1:
...
case 2:
...
case 3
...
default:
}

сопоставляется с:

   if (a == 1) {
}
elseif (a == 2) {
}
elseif (a == 3) {
}
else{
}

if ... elseif ... форма немного более многословна, но более мощна, то есть с менее строгим условным условием для каждого «случая». Например, вы можете использовать

elseif (a > 3 && a < 7)
2

Другие решения

На мой взгляд, выгода заключается в упрощении кода. Скажем, есть список вариантов, и вы используете операторы if для выполнения действий для каждого отдельного варианта. Проще использовать операторы elseif, чтобы сузить выбор. Кроме того, он имеет большую читаемость.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector