Слияние / объединение списка целых чисел с Char [Haskell] - PullRequest
0 голосов
/ 26 марта 2012

Мне бы хотелось подсказать, как применить эту функцию:

dti xs = (map intToDigit (take 6 (map digitToInt xs))++['/']++map intToDigit(drop 6 (map digitToInt xs)))

в списке целых чисел, например; [1234567822,3245336792, ...], поэтому я получу вывод наподобие ["123456/7822", "324533/6792", ...].

Смысл состоит в том, чтобы добавить «/» после 6-й цифры в каждом номере списка целых чисел, например; [1234567822,3245336792 ...]. Может быть, есть лучший способ сделать это, чем мой.

1 Ответ

2 голосов
/ 26 марта 2012

intToDigit ожидает одну цифру, поэтому на входе появится сообщение об ошибке, например 1234567822.

Чтобы преобразовать Int (или Integer) в список символов, вы можете использовать show, а затем разбить получившуюся строку после шести цифр

format n = first ++ '/':second
  where
    s = show n
    (first,second) = splitAt 6 s

dti = map format
...