let ans = stringConcat ["<a href=","\"",str,"\"",">",strr,"</a>"]
putStr ("\nOutput :" ++show (ans))
Run Code Online (Sandbox Code Playgroud)
当我打印这个答案时,Output :"<a href=\"www.test.com\">testing</a>"
我想知道为什么额外\打印.\"假设是双引号的转义码.再次打印两者\".我想知道为什么会发生这种情况,是否有任何方法可以将"一个字符串放在一个字符串中?
concat功能
stringConcat::[String]->String
stringConcat xs= concat xs
Run Code Online (Sandbox Code Playgroud)
ham*_*mar 19
是的,\"是双引号的正确转义码,因此该字符串ans包含您所期望的双引号.
问题是你正在使用show,这是一个显示像Haskell代码中出现的值的函数,这意味着必须转义带有双引号的字符串.
> putStrLn (show "I said \"hello\".")
"I said \"hello\"."
Run Code Online (Sandbox Code Playgroud)
所以如果你不想那样,就不要使用show:
> putStrLn "I said \"hello\"."
I said "hello".
Run Code Online (Sandbox Code Playgroud)
不要show一个字符串.
let ans = stringConcat ["<a href=","\"",str,"\"",">",strr,"</a>"]
putStr ("\nOutput :" ++ ans)
Run Code Online (Sandbox Code Playgroud)
还有,是什么stringConcat?
| 归档时间: |
|
| 查看次数: |
8359 次 |
| 最近记录: |