Мне интересно, можно ли добавить несколько элементов в список в понимании списка.Можно добавить несколько элементов в список?
Например, если я хочу список, состоящий из чисел от 1 до 10, я могу написать:
[k | k <- [1..10]]
Однако, есть также способ сделать это, всегда добавляя k
иk+1
в тот же шаг, и просто возьмите только нечетные числа k
? Следующий код неверен, но, возможно, объясняет лучше, что я пытаюсь сделать:
[k, k+1 | k <- [1, 3..10]]
В настоящее время, ближе всего к этому (что я знаю) заключается в следующем:
foldl1 (++) [[k, k + 1] | k <- [1, 3..10]]
Благодарим вас за ответ и предоставление альтернатив! – flawr
Другой - '[1, 3 .. 10] >> = (\ x -> [x, x + 1])'. – Jubobs
... или эквивалентно 'do'' x <- [1, 3 .. 10] '' [x, x + 1] '. – leftaroundabout