Il seguente code:Haskell: Sopprimere le virgolette intorno corde quando mostrato
data HelloWorld = HelloWorld;
instance Show HelloWorld where show _ = "hello world";
hello_world = "hello world"
main = putStr $ show $ (HelloWorld, hello_world)
Stampe:
(hello world,"hello world")
mi piacerebbe che la stampa:
(hello world,hello world)
cioè voglio comportamento come il seguente:
f "hello world" = "hello world"
f HelloWorld = "hello world"
Purtroppo, show
non soddisfa questo, come:
show "hello world" = "\"hello world\""
C'è una funzione che funziona come f
che ho descritto sopra?
È generalmente accettato come buona pratica creare un nuovo typeclass (ad esempio denominato 'PPrint') per le traduzioni a 'String's leggibili dall'uomo. –
@Clinton ha risposto a una di queste risposte? –