Igor
Не выбрасывать же, ну и парой выглядит солидней) хотя там и одна книга дай бог
Oleksii
а мне давали грамоту "бобер"
Igor
Oleksii
Oleksii
Oleksii
Михаил
Михаил
Михаил
введеш 0 значит x > 18 будет false и может попасть туда
Шурок
делаю с вариантом сase 0/case 1 и все работает, когда ввожу 0/1
а когда делаю свой не работает
Кароче представь что ты пишешь прогармму которая печатает какое у тебя говно
С подливой, твердое или понос
switch существует чтоб проверить НАПРЯМУЮ
например
x = подлива
switch(x)
case подлива:
case твердое
case понос
Но вот что ты пишешь
у тебя получается true/false
а true/false не может быть подливой
твой код спокойной можно заменить на вот такое
x = подлива
swtich(x)
case true:
true это не подлива
Oleksii
Шурок
Шурок
а не подлива
Oleksii
в case нельзя подставить условие, так?
Михаил
в case нельзя подставить условие, так?
switch(x)
{
case Number(x > 18): // кейс курильщика
alert("x > 18"); break;
case Number(x < 18):
alert("x < 18"); break;
case 18: // нормальный кейс
alert("18");
break;
default:
alert("err");
break;
}
можно
Михаил
попробуй теперь ввести 0 или 1
Igor
может вам язык выучить? говорят помогает
Oleksii
как сложно быть тупым
Шурок
Oleksii
Igor
просто это не вариант для свитч кейса
m700
Igor
ну или если хотите извратиться то сделайте через Math.sign но это изврат
Oleksii
Михаил
еще так прокатывает
let x = Number(prompt("Vvedite chislo: "))
switch(x)
{
case x = 18:
alert("x = 18");
break;
case 11:
alert("11");
break;
case 12:
alert("12");
break;
case 13:
alert("13");
break;
default:
alert("err");
break;
}
Михаил
вот js упоротый конечно
Igor
let x = prompt('u age');
switch(Math.sign(Number(x) - 18))
{
case 1: // кейс курильщика
alert("x > 18"); break;
case -1:
alert("x < 18"); break;
case 0: // нормальный кейс
alert("18");
break;
default:
alert("err");
break;
}
Igor
Михаил
свич работает как если бы там не было x =
Igor
Михаил
Михаил
я специально сунул туда присваивание вместо условия (вместо числа если быть точным)
Михаил
присваивание же вернет 18, правильно
Михаил
и получается типа как case 18:
Михаил
но js такой упоротый что это прокатывает когда x не равен 18
Daniil
Михаил
Михаил
в С такое не прокатит
Igor
Потому что Аннушка уже пролила масло. switch ужп посчитал значение которое нужно сравнивать с кейсами
Михаил
Igor
выражение сравнивается с выражением
Igor
у тебя какое то странное представление о скриптовых языках
Михаил
почему он тогда не кинул ошибку, где был х когда он это все считал?!
Igor
Я не знаю откуда тебе такое приснилось
Igor
значение эвалюэйтится один раз
Igor
Предлагаю не придумывать поведение а выучить язык. Сорян не вижу смысла продолжать эту беседу.
m700
учить язык....сложно же(
Igor
если ты хочешь чтобы свитч работал с условиями просто напиши switch(true)
let x = prompt('u age');
switch(true)
{
case x>18:
alert("x > 18"); break;
case x<18:
alert("x < 18"); break;
case x == 18:
alert("18");
break;
default:
alert("err");
break;
}
Igor
и в этом случае присвоения значений в кейсах будут влиять на следующие условия ... потому что значения эвалюэйтятся по порядку по мере необходимости ...
Igor
но никогда не эвалюэйтятся повторно ... это полный бред.
Erik
кто-нибудь в курсе, xor входит в школьную программу по информатике?
Daniil
Всегда зависит от школы и направления
Михаил
Daniil
Вообще это простая мат. вероятность, поэтому проходят, но по поводу информатики хз
Daniil
Igor
Igor
Какой то день бреда в чате ей богу ;)
Maksim Pozharskiy
Igor
Я думаю входит ... если конечно информатичка не симпатичная ;)
Maksim Pozharskiy
Igor
Эрик прирожденный учитель ;) ... осталось Михаилу свитч втереть ;)
SSS
Daniil
Побитовые операторы?
Не побитовый оператор, работа с таблицами шла, где И\Или\Исключающее или и подобное
Igor
Daniil
Только потом узнал, что такое побитовые операторы, когда начался курс ассемблера
Михаил