0

是否可以在用户定义的函数上使用反向函数?

所以 usermade 函数给你一个结果,然后我想反转那个结果。

mult_add d s = d + 10*s

form_number_back d = foldr mult_add 0 d

反转上述结果的函数

form_number_front d = reverse [d form_number_back]

我正在用 form_number_back 反转一个列表...然后用 form_number_front 反转它。

我也试过 foldl 没有结果。

4

1 回答 1

1
form_number_front d = reverse [d form_number_back]

这有很多问题。

首先,form_number_back是一个函数,并且d是您希望传递给该函数的数字。该函数必须出现在其参数的左侧:

form_number_front d = reverse [form_number_back d]

更实质的reverse是,用于反转列表。但是调用的结果form_number_back是一个数字;您似乎想要反转该号码中的数字。

现在,您可以尝试在将列表转换为数字之前 form_number_back将其反转:

form_number_front d = form_number_back (reverse d)

您可以尝试重写form_number_back以按照您想要的顺序折叠列表:

form_number_front d = foldl (flip mult_add) 0 d

这有帮助吗?

于 2012-06-12T08:53:18.523 回答