Я полный новичок на Хаскеле, и я пытался делать это целый день.
Таким образом, один выход может быть:
Три, шесть
(3 меньше 6, но написание его длиннее, чем на 6)
Я придумал это в Haskell, но переменные выходят из области видимости, я пока не совсем понимаю область видимости в Haskell.Это может быть совершенно неправильно, но любая помощь приветствуется.
let numbers = [("One",1),("Two",2),("Three",3),("Four",4),("Five",5),("Six",6),("Seven",7),("Eight",8)]
[([ x | x <- numbers], [y | y <- numbers]) | length (fst x) > length (fst y), snd x < snd y]
Может ли кто-нибудь помочь мне исправить это понимание вложенного списка?Или даже скажите мне, могу ли я вообще использовать понимание вложенного списка?
Чтобы уточнить:
Я хочу вывести список пар, где написание первого элемента в паредлиннее, чем написание второго элемента в паре, но также первый элемент в паре в виде числа меньше, чем второй элемент в паре в виде числа.