``hello''++``world''在Haskell中不起作用

托比亚斯·伯恩哈特(Tobias Bernhardt)

只想澄清一下这是我的第一天编程,我意识到这个问题是多么愚蠢:D

1)为什么不起作用?

ghci>''hello'' ++ ''world''

<interactive>:40:1: error
    * Syntax error on ''hello''
      Perhaps you intended to use TemplateHaskell or TemplateHaskellQuotes
    * In the Template Haskell quotation ''hello''

ghci>''hello'' ++ '' '' ++ ''world''

<interactive>:41:17: error: parse error on input '''

我应该在文本编辑器中添加一些内容以使其正常工作吗?还是我只是犯了一些菜鸟错误?

2)

ghci> ''Steve'' !! 2

<interactive>:42:2: error
    * Syntax error on ''Steve''
      Perhaps you intended to use TemplateHaskell or TemplateHaskellQuotes
    * In the Template Haskell quotation ''Steve''
ghci>[1,2,3,5,8] !! 2
3

当我用数字执行这些命令时,可以使用,但不能使用字符。我一定在做错事,但我不确定:/

提前致谢!

威廉·范昂塞姆

字符串用双引号(如".."包围,而不是用两个单引号(如''..''包围因此,您应该使用"而不是'

例如:

$ ghci
GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
Prelude> "hello" ++ "world"
"helloworld"
Prelude> "hello" ++ " " ++ "world"
"hello world"

这在Haskell报告2010的“字符和字符串文字”部分中进行了指定

字符文字写在单引号之间(如)'a'字符串写在双引号之间,如"Hello"

根据本文,您可以使用+在Mac键盘上双引号,这是在“标准”质询键盘上进行组织的方式:Shift'

在任何典型的键盘上,只需按即可'获得一个连续的单标记('),而按下Shift+'可获得一个直接的双标记(")。

根据@ M.Aroosi的评论,对于英国的键盘,其"Shift+2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章