2016-05-20 9 views
0

Wie kann ich einen Wert, der kein String ist, an die Konsole ausgeben? Der Typ ist unten.Nicht-String-Werte in Haskell drucken

data Expr = Var String | Con Bool | Uno Unop Expr | Duo Duop Expr Expr | List [Expr] 
deriving Show 

Ich habe eine Liste der oben genannten Art Werte, und ich möchte sie drucken jeweils auf einer separaten Zeile zu screenen (nicht die klassische Listenansicht). Dank

Antwort

2

Verwenden Sie einfach print auf jedes Element der Liste:

mapM' print exprs 
+0

wie über eine Liste von Listen? Ich möchte jede Person aus einer Liste innerhalb einer Liste drucken. Wie [[1,2,3], [3,4,5]]. Ich möchte 1 2 3 4 5 6 –

+0

@vasiliuiorgu Wenn Sie immer noch möchten, dass jeder Eintrag in einer eigenen Zeile steht (egal welcher Eintrag in welcher Unterliste ist), können Sie ihn einfach zuerst "concat" machen. – sepp2k

+0

Danke! Es löst das Problem –