2016-02-22 3 views
1

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

func :: ([a],[a]) -> [a] 

который получает входной сигнал, такие как:

([1,2,3,4], [7,8,9])

и должен возвращать:

[1,7,2,8,3,9,4]

и у меня есть

func (x:xs , y:ys) = x : y : func (xs, ys) 

, что я получаю в качестве результата:

[ 1,7,2,8,3,9 *** Исключение: hw2.hs: 29: 1-54: Неисчерпывающие шаблоны в функции func

Я знаю, что я получаю это ROR, потому что списки не являются такой же размер, как вы, ребята, думаете, что я могу решить эту проблему

+0

Вы получите эту ошибку даже для двух списков одинакового размера, даже для двух пустых списков. Можете ли вы подумать о причине? – amalloy

ответ

3

неисчерпывающему модели в функции FUNC

Это указывает на то, как вы не обрабатываются все случаи. Представьте себе, что произойдет в следующих случаях:

func (x,[]) = ??? 
func ([],y) = ??? 

Сообщите мне, если вам нужно больше советов.

+0

oh wow, я был на этой вечности навсегда, и я не знал, если я не обрабатываю эти случаи, это дало бы мне такую ​​ошибку! я понял! я узнал это нелегко @ Сиби –

Смежные вопросы