Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 41 Ответов
  • 8903 Просмотров
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Re: Код, смешной до невозможности
« Ответ #30 : 13.11.2015, 22:32:12 »
zomby6888 - не, у него там несколько условий И в пределах одного условия, кейсами действительно не пойдет
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Код, смешной до невозможности
« Ответ #31 : 13.11.2015, 22:36:25 »
break удобно пропускать когда нужно в любом случае проверить условие ниже. Это делает код более гибким:
Код: php
switch (true) {
    case (condition1):
         // do something...        
    case (condition2):
        // then do something else
        break;
    case (condition3):
    deafult:
        //if condition 3 or default    
}
« Последнее редактирование: 13.11.2015, 22:41:02 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Код, смешной до невозможности
« Ответ #32 : 13.11.2015, 22:39:58 »
Почему не выйдеет?
Код: php
switch (true) {
 case( !empty($condition[1]) && (($condition[1]==$location) || ($condition[1]=='all'))) :
    ...// и так далее
}

Ну условия можно разбить и систематизировать еще. А то там действительно непонятно что. Case в любом случае лучше читаемый когда зоопарк условий начинается.
интернет-блог: http://websiteprog.ru
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
Re: Код, смешной до невозможности
« Ответ #33 : 13.11.2015, 22:41:32 »
я имел в виду, что сильно упростить не выйдет, в данном случае что кейсы что ифэлсе - читаемы примерно одинаковы
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Код, смешной до невозможности
« Ответ #34 : 13.11.2015, 22:43:28 »
Код
switch (true) {
 case( !empty($condition[1]) && (($condition[1]==$location) || ($condition[1]=='all'))) :
    default:/// и условие, что ниже
}
так не прокатит?неправильно?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Код, смешной до невозможности
« Ответ #35 : 13.11.2015, 22:43:57 »
Я всегда использую switch..case когда больше трех условий
интернет-блог: http://websiteprog.ru
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Код, смешной до невозможности
« Ответ #36 : 13.11.2015, 22:53:38 »
По логике кейс - это одно значение, а не большое условие.
По крайней мере для меня, воспитанного на паскалях и сях :-)
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Код, смешной до невозможности
« Ответ #37 : 13.11.2015, 23:02:05 »
По логике кейс - это одно значение, а не большое условие.
По крайней мере для меня, воспитанного на паскалях и сях :-)
О, боюсь что логика паскаля здесь только вредит, уж я, начинавший во времена 5 и 6 BTP и как угодно имевший все версии delphi, это хорошо понял
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Код, смешной до невозможности
« Ответ #38 : 13.11.2015, 23:06:35 »
Ну да, меня постоянно в ступор вводит отсутсвие строгой типизации и непонятки сравнения переменной с NULL
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Код, смешной до невозможности
« Ответ #39 : 13.11.2015, 23:10:59 »
В ссях вроде только скалярные могут быть выражение. Здесь это преимущество  и используется кстатии часто. Правда пишут что может быть чуть менее производительнее, но это все мелочи а код выглядит понятнее и компактнее все же. Особенно когда много условий(нет необходимости в лишний "{}").Сравните:
Код: php
if($a == $b) {
    ...
}
if($c == $d) {
    ...
}
if($e == $f) {
    ...
}
if($g == $h) {
    ...
}

или

Код: php
switch(true) 
{
  case $a == $b:
    ...
  case $c == $d:
    ...
  case $e == $f:
    ...
  case $g == $h:
    ...
}
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Код, смешной до невозможности
« Ответ #40 : 13.11.2015, 23:14:13 »
null в пыхе - это объявленный, но не присвоенный ^Pointer в паскале, сравнение неверное конечно, но я рассматриваю это именно так, для упрощения понимания
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Код, смешной до невозможности
« Ответ #41 : 13.11.2015, 23:18:18 »
Ну да, меня постоянно в ступор вводит отсутсвие строгой типизации и непонятки сравнения переменной с NULL

Все тоже самое в javascript только там вместо null - undefined
интернет-блог: http://websiteprog.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться