Сопоставление с образцом (pattern matching) — сильный механизм языков программирования, который, к сожалению, встречается не так часто. Причём, как в коде разработчиков, так и в поддержке со стороны самого языка.
Разработчики на функциональных языках используют этот механизм довольно часто, потому что у них вообще многое определяется статически через правильный подход к системе типов. Разработчики же на императивных языках очень любят огромные многоуровневые ветвления. Есть даже такое понятие «Спагетти-код» — раньше его применяли к коду, перегруженному операторами перехода, но в современном виде это скорее об избытке операторов условия.
Pattern matching позволяет накладывать на объекты некоторый трафарет и смотреть, попадают ли они под него. Это не только выглядит лаконичнее и короче, чем дерево условий, но ещё и понятнее с точки зрения восприятия человеком: вот у нас заказ содержит более 10 элементов и при этом стоит более 1000 долларов, значит делаем на него скидку 10 центов. При этом трафарет работает как сортировщик монеток: самая маленькая проваливается в первый паз, следующая по размеру в следующий итд, применение условий идёт сверху вниз. Есть и неявный плюс: такой подход автоматически провоцирует разработчиков проводить проверку на null. Ведь null не может подходить под трафарет «содержит более 10 товаров».
К счастью, в C# этот механизм в последних версиях активно развивают и совершенствуют. И это одно из многочисленных преимуществ C# над Java.
#dev
Близимся к финалу #UPLOAD 3
Кто проспал и не слышал/не видел) 😫
Загляни сюда: https://www.amazon.com/Upload-Season-3/dp/B0CGK65JMX
Вполне уместно поговорить про будущее.
Которое, там отражено.
А сейчас в сериале момент, когда менеджер (без сексизма).
“Штопает”/стирает копии “персонажа №1”, спасая свою попу.
И у меня вопросы...
Как ВЫ видите будущее, например, в 2050 году? 🏥
Будем жить во флешках или банках? 🏦
А в 2100? 💒
Мечтать не вредно и увидеть хочется!
Кстати, серии всего по 30 минут, очень удобно.
#РекомендуемСмотрим
¿Que puede hacer este bot?
@mysterious_uploader_robot
•Cargador de URL
•Cargar varios tipos de formatos
•Descargar enlaces de más de 2 GB
•Enlaces directo y los sube a Telegram como un archivo/video.
Idioma : Inglés
#upload#descargar#download
( Visto en: @BotsGram_Cu )
#random#textpost#music#upload
source
When I close my eyes, it's a fantasy
Perfect plastic life from a magazine
Then, when I wake up, it's reality (pretty girls)
I can have it all (yeah), live my цикорiй dreams (Kaliii)
Друзья, ПРИВЕТствую)
Я снова в дороге)
И пополняю любимую рубрику: #РекомендуемСмотрим
Третий сезон, сериала #UPLOAD, в переводе #Загрузка.
Эмоциональный вариант “светлого завтра”.
В отличии, от #ВикторПелевин, без “банок” и “Transhumanism Inc.”.
Суровая констатация факта, что финал будет в флешке...
Рецензий ещё нет.
Вы можете стать первыми!
https://www.kinopoisk.ru/series/1127489/
@TeleHobot
Qué puede hacer este bot?
¡Este es un bot de medios!
Comparta sus archivos con otros y califique los archivos cargados por otros.
¡Que sea IMPRESIONANTE!
Idioma: Inglés, Ruso
(visto en @BotsGram.cu)
#share, #upload, #social, #innovative
@warlockpublicurl_bot
Qué puede hacer este bot?
Envíale cualquier Archivo Multimedia de Telegram y generará un enlace directo para ello
Los Archivos Porno están Estrictamente Prohibidos.
Idioma: Inglés
(visto en @BotsGram_cu)
#file, #upload, #link, #url, #public, #telegram
@upfileiobot
Qué puede hacer este bot?
Envíame / reenvía cualquier archivo (hasta 20MB en cualquier momento) y te daré el enlace público de ese archivo desde file.io servidor. El enlace solo se puede usar una vez
Idioma: Inglés
(visto en @BotsGram_cu)
#file, #upload, #link, #url, #public, #telegram