Cercando di imparare un po 'Haskell e provato questo:Haskell - singolo v doppi apici
ghci> :t 'a'
'a' :: Char
ghci> :t "a"
"a" :: [Char]
Perché è vedere le virgolette singole e doppie in modo diverso e questo è importante?
Cercando di imparare un po 'Haskell e provato questo:Haskell - singolo v doppi apici
ghci> :t 'a'
'a' :: Char
ghci> :t "a"
"a" :: [Char]
Perché è vedere le virgolette singole e doppie in modo diverso e questo è importante?
Questo è proprio come C/C++/C#/Java e altri linguaggi di programmazione. Virgolette singole significa carattere singolo, virgolette doppie indica array di caratteri (stringa).
In Haskell, 'c'
è un singolo carattere (Char
), e "c"
è un elenco di caratteri ([Char]
).
È possibile confrontare questo per gli interi e gli elenchi di numeri interi:
ghci> let a = 1
ghci> let b = [1,2,3]
ghci> :t a
a :: Integer
ghci> :t b
b :: [Integer]
E 'importante perché ci deve essere una distinzione tra gli elementi singoli e un elenco di elementi. È possibile eseguire diverse operazioni su elementi semplici e diverse operazioni sugli elenchi.
Sono interpretati in modo diverso perché lo sono (è proprio come viene definita la lingua). Questo è importante perché un Char
e un [Char]
non sono la stessa cosa. Oltre a questo non sono sicuro di cosa stai cercando di chiedere qui.
Forse qualcosa di importante da notare sarebbe ': info String' stampa' type String = [Char] ', così puoi vedere esplicitamente come viene definito il tipo' String'. – bheklilr