我有一个小问题,我对Haskell很新,我不明白为什么列表在追加20之后是空的.
*Main> list
[]
*Main> add_element
[20]
*Main> list
[]
*Main>
Run Code Online (Sandbox Code Playgroud)
我的代码:
list = []
add_element = list++[20]
Run Code Online (Sandbox Code Playgroud)
在Haskell中,变量是不可变的.在你的情况下:
list = []
Run Code Online (Sandbox Code Playgroud)
您已定义一个空列表.
add_element = list ++ [20]
Run Code Online (Sandbox Code Playgroud)
该add_element符号不是功能发生变异list.它实际上是一个通过将空列表(list)与单例列表组合而构建的新列表[20].
顶级定义list永远不会是任何东西[].