-2
In einem Modul zu besitzen Ich habe diese Art:Convert [Char] Typ in Haskell
module Verbally (verbally, Currency) where
import Data.String.Utils
data Currency = Currency {
singular :: String,
plural :: String
} deriving (Read, Show)
aud = Currency "Australian Dollar" "Australian Dollars"
bgn = Currency "Lev" "Levs"
In meinem zweiten (Haupt-) Modul, das wie folgt aussieht:
main = do
args <- getArgs
putStrLn $ verbally (args !! 0) (args !! 1)
Ich möchte umrechnen Argumente !! 1 zu Währung.
Verbal nimmt Integer und Währung als Argumente.
Übersetzungsfehler:
Couldn't match type ‘[Char]’ with ‘Currency’
Expected type: [Currency]
Actual type: [String]
In the first argument of ‘(!!)’, namely ‘args’
In the second argument of ‘verbally’, namely ‘(args !! 1)’
'Currency' hat eine' Read' Instanz, so wie zur Verwendung von 'read (args !! 1)' – ErikR
Für zukünftige Suchen kann es hilfreich sein, den Ausdruck 'parse' zu verwenden. Was Sie sagen, ist, dass Sie die Zeichenfolge analysieren möchten und es gibt viele Möglichkeiten, das zu tun, die einfachste Methode ist 'read' und' Text.Read.readMaybe'. –