Вы когда-нибудь задумывались, как сравнить целое число с диапазоном целых чисел?

Чаще всего мы думали использовать операторы ≥ и ≤ для сравнения целого числа в диапазоне целых чисел. Как тот, что ниже.

Но мы действительно должны использовать более высокий порядок, который предоставляют языки высокого уровня, чтобы код выглядел аккуратно и стильно.

Если бы мы могли достаточно глубоко разглядеть оператор диапазона, который мы используем в цикле for-in, большинство из нас подумали бы, что его можно использовать и вне цикла for-in.

Итак, как нам использовать его снаружи, чтобы сравнение диапазонов выглядело еще проще:

Легко может показаться, что это не так уж и полезно, потому что сокращения кода не так уж и много. Верно. Но если вы используете функцию более высокого порядка, например filter (_ :), вы можете легко завершить код без особого написания.

Мы также можем использовать Double, Float, символы или строки с этим подходом. Когда мы используем строки, это работает так же, как приложение контактов в наших телефонах, которое упорядочено в алфавитном порядке.

Однако оператор диапазона для символов не работает в цикле for-in, как утверждает яблоко:

Когда диапазон использует целые числа как нижнюю и верхнюю границы или любой другой тип, соответствующий протоколу Strideable с целочисленным шагом, вы можете использовать этот диапазон в цикле _2 _-_ 3_ или с любой последовательностью или методом сбора

Я знаю, на что вы кричите, почему бы им просто не использовать базовые значения ascii, это тоже целое число!

Если вы посмотрите на цикл for-in, то увидите, как они работают: они используют целые числа напрямую или косвенно используют индекс для представления объекта, когда мы перебираем массив объектов. Как массив строк или массив любого объекта.

Вот что имелось в виду, когда они сказали с любой последовательностью или методом сбора

И это конец нашей истории о сравнении диапазонов. Суть этой статьи в том, чтобы напомнить всем нам о необходимости всегда искать новые подходы по мере развития языков.

Спасибо. :-П