Сопоставление с образцом (pattern matching) — сильный механизм языков программирования, который, к сожалению, встречается не так часто. Причём, как в коде разработчиков, так и в поддержке со стороны самого языка.
Разработчики на функциональных языках используют этот механизм довольно часто, потому что у них вообще многое определяется статически через правильный подход к системе типов. Разработчики же на императивных языках очень любят огромные многоуровневые ветвления. Есть даже такое понятие «Спагетти-код» — раньше его применяли к коду, перегруженному операторами перехода, но в современном виде это скорее об избытке операторов условия.
Pattern matching позволяет накладывать на объекты некоторый трафарет и смотреть, попадают ли они под него. Это не только выглядит лаконичнее и короче, чем дерево условий, но ещё и понятнее с точки зрения восприятия человеком: вот у нас заказ содержит более 10 элементов и при этом стоит более 1000 долларов, значит делаем на него скидку 10 центов. При этом трафарет работает как сортировщик монеток: самая маленькая проваливается в первый паз, следующая по размеру в следующий итд, применение условий идёт сверху вниз. Есть и неявный плюс: такой подход автоматически провоцирует разработчиков проводить проверку на null. Ведь null не может подходить под трафарет «содержит более 10 товаров».
К счастью, в C# этот механизм в последних версиях активно развивают и совершенствуют. И это одно из многочисленных преимуществ C# над Java.
#dev
名称:Carmen Maki - Golden Best 70's Rock (2003, 2022, Universal-Japan) SACD ISO
描述:
Carmen Maki《Golden Best 70's Rock》是日本摇滚先驱歌手卡门·真希70年代金曲精选,2003年首发,2022年由环球日本推出SACD重制版 。专辑收录《午前1時のスケッチ》《私は風》等13首代表作,囊括她与OZ乐队时期的迷幻摇滚、香颂风格作品 。以最新DSD母带重制,音质极致,浓缩J-Rock黎明期的叛逆与柔情,是了解70年代日本摇滚的必收藏之作 。
链接:https://pan.quark.cn/s/2e30030f6c21
📁 大小:3.1GB
🏷 标签:#sacd#无损音乐#音乐