所以我知道如何编写代码来查看我的列表是从最小到最大排序
isSorted :: (Ord a) => [a] -> Bool
isSorted [] = True
isSorted [x] = True
isSorted (x:y:xs) = x <= y && isSorted (y:xs)
Run Code Online (Sandbox Code Playgroud)
但我想编写一个代码,告诉我我的列表是否按给定的比较运算符排序,例如我想放入
sorted (<=) [1,2,2,4,5] == True
sorted (<) [1,2,2,4,5] == False
sorted (==) [1,2,2,2,3] == False
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我想在Haskell中创建自己的列表,我可以输入数字6并得到结果[1,2,3,4,5,6]
我以为我可以写点类似的东西
ones :: Int -> [a]
ones 0 = []
ones n = [n, n-1 ... n==0]
Run Code Online (Sandbox Code Playgroud)
有人能帮助我吗?