Liste der Funktionen in der Liste in Haskell

7

Ich habe ein Problem mit der Implementierung von FP (Backus) Interpreter in Haskell.

FP-Funktionen sehen so aus:

%Vor%

sollte mit

enden %Vor%

bedeutet, dass jede Funktion aus der Liste auf der linken Seite für jedes Element einer Liste auf der rechten Seite ausgeführt werden sollte.

Was ich verstehe, ist, dass ich etwas Ähnliches wie "map" -Funktion brauche, aber Map wendet eine Funktion auf eine Liste an, und ich brauche eine Liste von Funktionen in einer Liste von Werten.

Vielen Dank im Voraus! : -)

BEARBEITEN:

Da ich nicht genau war, hier ist mein Code, der nicht funktioniert:

%Vor%

Ich kann nicht herausfinden warum ...: - (

EDIT 2:

Entschuldigung, ich war zu müde, um den ganzen Tag daran zu arbeiten. Problem ist, dass ich keine zweite Leitung brauche, nur die erste:

%Vor%

Jetzt funktioniert alles gut, vielen Dank! : -)

    
markoub 25.08.2012, 17:08
quelle

5 Antworten

6

Wollen Sie so etwas?

%Vor%

Ausgabe:

%Vor%

BEARBEITEN:

So etwas wie das?

%Vor%     
Nymer 25.08.2012, 17:42
quelle
16

Es klingt wie du willst:

%Vor%

Natürlich ist das genauso wie die für Listen definierte Instanz von <*> .

    
Lee 25.08.2012 17:36
quelle
13

Ich glaube, Sie suchen nach der Funktion zipWith und wenden sie mit der Funktion Anwendungsoperator $ an.

Wenn Sie also eine Liste von Funktionen funcList und eine Liste von Werten valueList haben, würden Sie dies mit:

aufrufen %Vor%

Also wäre es etwas wie

%Vor%

gibt Ihnen das Ergebnis [6,15]

Um eine Art Kreuzanwendung zu erhalten, könnten Sie

verwenden %Vor%

das gibt dir [6,10,3,15] . Nicht sicher, was Sie mit dem & lt; meinen, wollen Sie Paare, verschachtelte Listen oder was genau brauchen Sie?

    
Dervall 25.08.2012 17:21
quelle
0

Ich kann nichts aus Ihrer Erklärung herausfinden, aber hier ist ein möglicher Code, der die richtige Antwort für Ihr Beispiel gibt:

%Vor%     
Rotsor 25.08.2012 17:53
quelle
-1

Ich weiß nicht, ob Sie das wirklich brauchen, aber

%Vor%

Wenn Sie Listen von & lt; 2,3 & gt; Paare, können Sie etwas wie

verwenden %Vor%     
Alexey Kachayev 25.08.2012 17:39
quelle

Tags und Links