Вопрос новичка в Haskell, настройка пар в определении - PullRequest
0 голосов
/ 17 октября 2019

Так что я действительно новичок в Haskell, и у меня есть определение:

 x :: [(char,Int)]

x должно быть определено как функция, которая просто помещает символы (x,y,z) вместе с (1,2,3) вкаждый путь

Поэтому, когда я звоню x, я просто хочу получить вывод [x,1], [x,2], [x,3], [y,1], [y,2] и так далее.

Возможно, это простая проблема, но я запутался, что в функции x нет фактического ввода. Просто нужно вывести списки.

Я пытался создать оба списка (число и список символов), но как мне соединить их вместе в функции?

1 Ответ

2 голосов
/ 17 октября 2019

x не является функцией;это список кортежей. Вы можете определить его напрямую или определить функцию типа foo :: [Char] -> [Int] -> [(Char, Int)], а затем установить x, вызвав foo с двумя соответствующими списками.

foo :: [Char] -> [Int] -> [(Char, Int)]
foo chars ints = ...  -- You define this

x :: [(Char, Int)]
x = foo ['x', 'y', 'z'] [1, 2, 3]

Что касается определения fooЯ предлагаю вам начать с чтения списка понятий . Они не единственный способ определить foo, но они, вероятно, самые простые. Если вы знакомы со списками в таком языке, как Python, у вас не должно возникнуть проблем;На Haskell пришла идея Python.

...