我正在尝试附加到Clean programming language。
中的列表这是我的代码:
import StdEnv
path0 = "urrd"
//path1 = "urdl"
//path2 = "uurrddll"
//path3 = "ururdrdldlul"
Mirror :: [Char] -> [Char]
Mirror [] = []
Mirror str = [(NegatePath last str) : (Mirror init str)]
NegatePath :: Char -> Char
NegatePath 'u' = 'd'
NegatePath 'd' = 'u'
NegatePath 'l' = 'r'
NegatePath 'r' = 'l'
Start = Mirror path0
这是我得到的错误:
输入错误[Homokozoo.icl,13,Mirror]:"列表构造函数的参数1"无法统一类型: [字符] {#Char}
答案 0 :(得分:1)
在阅读这个问题之前,我并不清楚干净的语言,所以这可能会有所不同,但我认为在花了一些时间扫描语言报告的第4章之后,我已经确定了这个问题。问题似乎是您的[Char]
函数是为了对字符列表{#Char}
进行操作而构建的,但您传递的是未装箱的字符数组path0 = ['urrd']
。
如果您声明了
,它可能会有效path0
以便Mirror
的类型是字符列表而不是未装箱的字符数组。如果这不是您想要的,您可能需要修改{Char}
功能才能使用select *, (select sum(level = 'bronze') from membership) as bronze_count
from membership
order by case when level = 'bronze' then 1 else 2 end,
memberdate desc
。