Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell新线路不工作_Haskell_Newline - Fatal编程技术网

Haskell新线路不工作

Haskell新线路不工作,haskell,newline,Haskell,Newline,为了让这条新线路正常工作,我们已经忙乱了大约20分钟,但它在GHCI中总是显示为一条线路 以下是我在GHCi中输入的内容: displayFilm ("Skyfall",["Daniel Craig", "Judi Dench", "Ralph Fiennes"], 2012, ["Bill", "Olga", "Zoe", "Paula", "Megan", "Sam", "Wally"]) 下面是打印的内容: “天空坠落-----------\n演员:丹尼尔·克雷格、朱迪·丹奇、拉尔夫·费

为了让这条新线路正常工作,我们已经忙乱了大约20分钟,但它在GHCI中总是显示为一条线路

以下是我在GHCi中输入的内容:

displayFilm ("Skyfall",["Daniel Craig", "Judi Dench", "Ralph Fiennes"], 2012, ["Bill", "Olga", "Zoe", "Paula", "Megan", "Sam", "Wally"])
下面是打印的内容:

“天空坠落-----------\n演员:丹尼尔·克雷格、朱迪·丹奇、拉尔夫·费恩斯\n年份:2012\n粉丝:7\n”


要按原样打印字符串而不转义特殊字符,请使用:

putStr string

如果你想在结尾多加一条换行符。在你的情况下,你可能正在寻找

putStr (displayFilm (....))

为什么需要这样做?在GHCi中,如果计算表达式
s
,结果将像运行
print s
一样打印(除非它具有类型
IO something
——请忘记此特殊情况)。如果
e
是字符串,
print
将转义所有特殊字符并输出结果。这是因为
print
用于输出一个字符串,其语法遵循Haskell表达式中的语法。对于数字,这是常用的十进制表示法。对于字符串,我们得到引号和转义字符。

要按原样打印字符串,而不转义特殊字符,请使用:

putStr string

如果你想在结尾多加一条换行符。在你的情况下,你可能正在寻找

putStr (displayFilm (....))

为什么需要这样做?在GHCi中,如果计算表达式
s
,结果将像运行
print s
一样打印(除非它具有类型
IO something
——请忘记此特殊情况)。如果
e
是字符串,
print
将转义所有特殊字符并输出结果。这是因为
print
用于输出一个字符串,其语法遵循Haskell表达式中的语法。对于数字,这是常用的十进制表示法。对于字符串,我们得到引号和转义字符。

当您在GHC中键入表达式时,它会使用
print
显示它。对字符串调用
print
会显示其内容,但不会计算转义序列:

> print "line1\nline"
"line1\nline2"
请注意引号

要根据需要显示字符串,请使用
putStr
putStrLn
(后者将附加一个换行符)


在GHC中键入表达式时,它将使用
print
显示该表达式。对字符串调用
print
会显示其内容,但不会计算转义序列:

> print "line1\nline"
"line1\nline2"
请注意引号

要根据需要显示字符串,请使用
putStr
putStrLn
(后者将附加一个换行符)


有什么方法可以使用“\n”@kmil您可以这样使用:
putStr“aa\nbb”
。我很确定您的意思是转义特殊字符,而不是不转义。@gragas实际上,
putStr
不会转义任何内容。例如,如果
字符串
包含一个换行符,则会将其打印为换行符,而不是后跟
n
的字符。相反,
print`会转义特殊字符。有没有一种方法可以使用“\n”@kmil您可以这样使用:
putStr“aa\nbb”
。我很确定您的意思是转义特殊字符,而不是不转义。@gragas实际上,
putStr
不会转义任何东西。例如,如果
字符串
包含一个换行符,则会将其打印为换行符,而不是后跟
n
的字符。相反,
print`没有特殊字符。如果我看到关于这项作业的另一个问题,我会抓拍……很高兴有人正在分发一份帮助人们学习Haskell的作业如果我看到关于这项作业的另一个问题,我会抓紧时间……很高兴有人给我布置了一项有助于人们学习Haskell的作业P