Я хочу сгенерировать последовательность от 10 до 1 по убыванию.enumFromTo, который идет в обратном направлении
Самый простой способ с использованием стандартных библиотечных функций
reverse [1..10]
Однако это реализуется неэффективно - это генерации списка, а затем обратить вспять ее. Однако
[10..1]
генерирует пустой список.
Я знаю, что [1..10] просто синтаксический сахар для
enumFromTo 1 10
Есть ли стандартная библиотека «перечисление *» функция, которая перечисляется из более высокого элемента вниз к нижней?
Насколько мне известно, нет лучшего способа сделать это, чем ' 10, 9..1' трюк, указанный ниже. Это бородавка языкового дизайна. См. Http://stackoverflow.com/questions/6806455/decrementing-ranges-in-haskell, который пришел к тому же ответу. – hao