在我的函数式编程课上,讲师创建了函数reverse
,以获取列表并返回具有相同元素但相反顺序的列表:
reverse :: [a] -> [a]
reverse [] = []
reverse (x:xs) = reverse xs ++ [x]
但是,在我从书中定义的那本书中,他们在函数名称后用'创建了相同的函数:
reverse' :: [a] -> [a]
reverse' [] = []
reverse' (x:xs) = reverse' xs ++ [x]
我想知道这两个函数的行为是否相同,或者'是否改变了它们的行为?此外,是否存在一种表示优于另一种表示的情况?任何帮助,将不胜感激!