2012-02-07 7 views
9
let ans = stringConcat ["<a href=","\"",str,"\"",">",strr,"</a>"] 
       putStr ("\nOutput :" ++show (ans)) 

quando stampo questa risposta è Output :"<a href=\"www.test.com\">testing</a>" voglio sapere il motivo per cui l'extra \ è la stampa. \" supponiamo di essere il codice di escape per virgolette. Ancora una volta la stampa entrambi \". voglio sapere perché questo accada e c'è un modo per mettere un " è parte di una stringa ..?codice di escape "stampa entrambi ". In ogni caso di mettere un "in una stringa.?

funzione concat

stringConcat::[String]->String 
stringConcat xs= concat xs 
+2

Non è necessario speciale 'versione stringConcat' per la stringa. 'concat' potrebbe essere usato direttamente. –

risposta

18

Sì, \" è il codice di escape corretto per le virgolette doppie, quindi la stringa ans contiene le virgolette doppie come previsto.

Il problema è che si sta utilizzando show, che è una funzione per mostrare valori come apparirebbe nel codice Haskell, il che significa che le stringhe con doppie virgolette in esse devono essere sfuggite.

> putStrLn (show "I said \"hello\".") 
"I said \"hello\"." 

Quindi, se non si vuole che, proprio non utilizzare show:

> putStrLn "I said \"hello\"." 
I said "hello". 
+0

La cosa strana è che l'escaping funziona per una singola citazione quando si usa show \ 'just not for \ ". – bshields

+0

Scusa non ho effettivamente scritto campioni. Quello che sto vedendo è che l'escaping funziona come previsto per una singola citazione ma non per una doppia citazione. Digitando '" \ "" 'al prompt ghci restituisce' "\" "', ma '" \ '"' produce '" '"' – bshields

+0

Ah, capisco, grazie per il chiarimento – bshields

1

perché non provare questo

let ans = stringConcat ["<a href=","'",str,"'",">",strr,"</a>"] 
+1

Ho bisogno di doppie virgolette non singole – Gihan

6

Non show una stringa.

let ans = stringConcat ["<a href=","\"",str,"\"",">",strr,"</a>"] 
putStr ("\nOutput :" ++ ans) 

Inoltre, che cos'è stringConcat?

+0

Capito ... stringConcat è la funzione concatenata – Gihan

Problemi correlati