- 1
- 2
- 3
- 4
- 5
- 6
DeliveryTruck t when t.GrossWeightClass switch
{
< 3000 => 10.00m - 2.00m,
>= 3000 and <= 5000 => 10.00m,
> 5000 => 10.00m + 5.00m,
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
DeliveryTruck t when t.GrossWeightClass switch
{
< 3000 => 10.00m - 2.00m,
>= 3000 and <= 5000 => 10.00m,
> 5000 => 10.00m + 5.00m,
}
С каждой новой версией C# всё меньше похож на C# и всё больше на Perl.
guest6 14.11.2020 14:59 # 0
если гроссвейткалсс меньше 3к, то 8м
если больше или равен, но меньше пяти ка, то 10
если больше пяти, то 15
nihau 14.11.2020 15:02 # 0
Ну и оттабать всё
bormand 14.11.2020 15:08 # 0
guest6 14.11.2020 15:12 # 0
bormand 14.11.2020 15:17 # 0
guest6 14.11.2020 15:19 # 0
The result of the switch expression is the value of the expression of the first switch expression arm whose pattern matches the range expression and whose case guard, if present, evaluates to true.
nihau 14.11.2020 15:20 # 0
gost 14.11.2020 15:33 # +1
bormand 14.11.2020 15:33 # 0
guest6 15.11.2020 05:15 # 0
на руби и на перле и даже на котлине такое пишется легко, теперь вот и на шарпе, а на питоне кажется, что будет тупая цепочка унылых ифелозов
oaoaoammm 15.11.2020 05:38 # +2
guest6 15.11.2020 05:40 # +4
oaoaoammm 15.11.2020 06:19 # 0
Получается такой вот своеобразный свищь из условий и результатов.
bormand 15.11.2020 06:21 # 0
oaoaoammm 15.11.2020 06:26 # 0
Вот у меня массив условий и массив соответствующих результатов. Я итерируюсь по условиям и, если условие выполняется, оставляю результат, чтобы удобнее было – зипаю два этих массива. Правда тут у меня отвратительный скриптушной fallthrough-switch, поэтому в конце там [0], на всякий случай.
Можно было бы и map'ом это сделать, но мне zip больше понравился. Или ты про то, что можно было просто по индексу проитертроваться сразу по джвум массивам?
bormand 15.11.2020 06:28 # +1
oaoaoammm 15.11.2020 06:29 # 0
bormand 15.11.2020 06:30 # 0
Tpeg 15.11.2020 09:46 # 0
bormand 15.11.2020 06:29 # +1
1024-- 15.11.2020 18:45 # +3
gost 15.11.2020 18:47 # +1
Noodles 15.11.2020 19:08 # +3
bormand 15.11.2020 20:16 # +2
1024-- 15.11.2020 20:52 # +3
j123123 15.11.2020 23:27 # +3
Поэтому я за гнуси
bormand 15.11.2020 23:32 # 0
MAPTbIwKA 16.11.2020 16:21 # +3
bormand 16.11.2020 16:39 # 0
MAPTbIwKA 16.11.2020 16:44 # 0
bormand 16.11.2020 16:52 # 0
MAPTbIwKA 16.11.2020 17:00 # +1
defecate-plusplus 16.11.2020 17:12 # 0
jooq
вот эта говнина не умеет range types :(
MAPTbIwKA 16.11.2020 17:16 # 0
Вот например джанговый орм имеет специальный contrib модуль для поддержки ренджей именно в постгре
bormand 16.11.2020 17:21 # 0
Кто-то ещё верит в сказки про переход с одной субд на другую?
MAPTbIwKA 16.11.2020 17:24 # 0
На самом деле джаногвские реюзабл аппликешйегны могут быть db agnostic, но конкретный проект, разумеется, нет.
defecate-plusplus 16.11.2020 17:35 # +1
нет, она просто (пока) не осилила некоторые специфичные вещи
такие как юзер домейны и вот некоторые комплексные типы как рейндж
ну и посмотрев как выглядит код, который пишут бекендоёбы, я считаю, что это последний проект, где применялся йоок
j123123 17.11.2020 13:17 # 0
А можно ли на компилтайм-крестометушне запилить аналог этого case ranges из GCC, и желательно чтоб это было читабельно (хотя тут я наверно слишком много прошу)?
Может в BOOST что-то подобное есть?
bormand 17.11.2020 15:16 # 0
bormand 17.11.2020 15:31 # 0
j123123 17.11.2020 15:37 # +3
Какой багор )))
bormand 17.11.2020 15:45 # 0
defecate-plusplus 17.11.2020 15:47 # 0
дальше компилятор будет уже срать опилками, если в лямблиях не будет совпадать
не?
bormand 17.11.2020 15:52 # 0
defecate-plusplus 17.11.2020 15:53 # 0
bormand 17.11.2020 15:54 # 0
CHayT 17.11.2020 15:56 # 0
Plebbit pls go
j123123 17.11.2020 17:31 # 0
j123123 17.11.2020 17:33 # 0
если INT_MIN ... 2999 то вернем 0
если 3000 ... 5000 то вернем 1
и так далее
А потом по этой хуйне уже обычный свищ, который хуйпойми что делать может. Это можно наметапрограммировать макросней?
bormand 17.11.2020 18:54 # +1
MAPTbIwKA 17.11.2020 19:11 # +2
if (case.accepts(value))
defecate-plusplus 14.11.2020 15:35 # +3
Noodles 15.11.2020 17:28 # 0
oaoaoammm 15.11.2020 17:30 # 0
Noodles 15.11.2020 17:40 # 0
oaoaoammm 15.11.2020 17:42 # +1
nihau 14.11.2020 15:00 # +1
любимая сишечка
MAPTbIwKA 17.11.2020 15:56 # +1
Мистер Хэнки 18.11.2020 13:43 # +1