Сопоставление с образцом (pattern matching) — сильный механизм языков программирования, который, к сожалению, встречается не так часто. Причём, как в коде разработчиков, так и в поддержке со стороны самого языка.
Разработчики на функциональных языках используют этот механизм довольно часто, потому что у них вообще многое определяется статически через правильный подход к системе типов. Разработчики же на императивных языках очень любят огромные многоуровневые ветвления. Есть даже такое понятие «Спагетти-код» — раньше его применяли к коду, перегруженному операторами перехода, но в современном виде это скорее об избытке операторов условия.
Pattern matching позволяет накладывать на объекты некоторый трафарет и смотреть, попадают ли они под него. Это не только выглядит лаконичнее и короче, чем дерево условий, но ещё и понятнее с точки зрения восприятия человеком: вот у нас заказ содержит более 10 элементов и при этом стоит более 1000 долларов, значит делаем на него скидку 10 центов. При этом трафарет работает как сортировщик монеток: самая маленькая проваливается в первый паз, следующая по размеру в следующий итд, применение условий идёт сверху вниз. Есть и неявный плюс: такой подход автоматически провоцирует разработчиков проводить проверку на null. Ведь null не может подходить под трафарет «содержит более 10 товаров».
К счастью, в C# этот механизм в последних версиях активно развивают и совершенствуют. И это одно из многочисленных преимуществ C# над Java.
#dev
A newly created wallet withdrew 139,557 $HYPE worth $5.49M from #Gate. Address: 0xee0a18b394ece1d7be81be15d6cec3ac7707b71c https://x.com/OnchainLens/status/2034936951275757877 Follow @onchainlens for more onchain updates
A newly created wallet withdrew 139,557 $HYPE worth $5.49M from #Gate.
Address: 0xee0a18b394ece1d7be81be15d6cec3ac7707b71c
https://x.com/OnchainLens/status/2034936951275757877
Follow @onchainlens for more onchain updates
After being dormant for 8 months, a whale deposited 2,11,343 $TRUMP worth $847.4K into #Gate, losing $1.28M.
The whale initially withdrew these $TRUMP for $2.13M from #Gate.
The whale also holds 18,787 $SOL ($1.66M), losing $1.62M.
Address - 7HqAk2h4cJZqyKdbzKEqm4JeWBnKMitVrwFMoEgqE93D
https://x.com/OnchainLens/status/2033095024649601045
Follow @onchainlens for more onchain updates
Wallet 0x011 (likely @ambergroup_io) withdrew 3M $SAFE ($6.72M) from #Gate.io at $2.25 for the first time 6 hours ago.
Notably, the $SAFE price has dropped ~36% since it became transferrable on April 23, 2024. Was this a good entry? 🤔
Follow @spotonchain and set alerts for Amber Group now via https://platform.spotonchain.ai/en/entity/80