Я пытался создать понимание для технически простого списка, но я не уверен, сможет ли Хаскелл достичь результата, который я хочу получить так, как я ожидал.
Если бы я хотел составить список чисел от 1 до 20, отфильтровывая числа, которые не делятся на 3 и 5 одновременно, это было бы так же просто, как
[x | x <- [1..20], not $ x `mod` 3 == 0 && x `mod` 5 == 0]
Что приведет к списку с каждым числом от 1 до 20 без 15.
Но что, если бы я хотел, чтобы вместо исключения числа 15 эта позиция списка была бы заполнена 0? То же самое применимо, если диапазон был больше, и я хотел, чтобы в каждом случае, когда мой фильтр был ложным, вместо того, чтобы не брать число, он приписывал бы заранее определенное значение x (в моем примере 0), это может быть достигнуто с помощью понимания списка. или я должен использовать другое решение?