更新并返回字符串列表

时间:2019-03-02 22:54:33

标签: haskell

我正在尝试在Haskell中制作一个简单的程序,该程序从用户输入的和弦列表中生成吉他标签。我是Haskell的新手,并且很难弄清String列表的一些基础知识。

标签的格式:

--1----3--

--1----5--

--1----5--

--3----5--

--3----3--

--1----3--

我首先声明一个空字符串,然后以以下形式一次将和弦添加到其中:

[[line1],

 [line2],

 [line3],

 [line4],

 [line5],

 [line6]]

每当我将新的和弦添加到要构建的选项卡时,我都需要将适合该和弦的String限制在我的六行内容中

我正在尝试做这样的事情:

addG :: [String] -> [String]
addG (a:b:c:d:e:f) = [[a++gOne],[b++gTwo],[c++gThree],[d++gFour],[e++gFive],[f++gSix]]

其中:

gOne :: String
gOne = "---3---"

gTwo :: String
gTwo = "---3---"

使用这种特定语法,我在ghci中收到以下错误:

project.hs:40:24: error:
    Couldn't match expected type 'Char' with actual type '[Char]'
    In the expression: a ++ gOne
    In the expression: [a ++ gOne]
    In the expression: 
        [[a ++ gOne], [b ++ gTwo], [c ++ gThree], [d ++ gFour], ....]

对于其他每个字符串b-f,我又得到五次完全相同的错误。

0 个答案:

没有答案