Переключатель внутри переключателя альтернатива

1

У меня есть этот псевдокод:

switch (true) {
  case (cond_1 < 0):
    return 'c1 < 0';
  case (cond_1 === 0):
    switch (true) {
      case (cond_2 < 0):
        return 'c2 < 0'
      case (cond_2 === 0):
        return 'c2 === 0'
      default:
        return 'c2 > 0'
    }
  default:
    return 'c1 > 0';
}

Есть ли лучший способ написать этот код, не используя переключатель внутри другого оператора switch?

  • 1
    Вы должны использовать условия if / else здесь. Это не совсем то, для чего предназначен switch .
Теги:
switch-statement

1 ответ

2
Лучший ответ

Эти условия if/else более компактны, а поток легче читать:

if (cond_1 < 0) return 'c1 < 0';
if (cond_1 === 0) {
  if (cond_2 < 0) return 'c2 < 0';
  if (cond_2 === 0) return 'c2 === 0';
  if (cond_2 > 0) return 'c2 > 0';
}
return 'c1 > 0';
  • 0
    может ты прав, легче читать

Ещё вопросы

Сообщество Overcoder
Наверх
Меню