2016-10-28 3 views
-4

Ich bin neu in Haskell. Ich möchte fragen, wie kann ich so etwas tun:Funktion Ergebnis als Parameter zu einer anderen Funktion in der

where b = goo(a) a = foo() 

Vielen Dank im Voraus.

+2

Sie keine Klammern verwenden Funktionen in Haskell zu nennen, setzen Sie einfach einen Raum zwischen dem Funktionsnamen und ihr Argument. Außerdem gibt es in Haskell keine Nullfunktionen, eine Funktion muss mindestens einen Parameter haben. Anders als das, setzen Sie Ihre Gleichungen untereinander (ausgerichtet) und es wird funktionieren. – dkasak

+0

Der Code, den Sie gepostet haben, scheint bedeutungslos zu sein. Sie sollten eine informelle Beschreibung hinzufügen, was Sie eigentlich erreichen möchten. – chi

Antwort

1

Zuerst würden Sie nicht eine Funktion wie eine Methode in OO-Sprachen () aufrufen < - das ist kein gültiger Anruf. Aber wie auch immer, Ihre Frage ist vage und nicht sehr beschreibend, deshalb gebe ich Ihnen diese Antwort, die hauptsächlich auf Annahmen basiert. Der Aufruf b wird einfach durch:

where b = goo a 
     a = foo 
0

so etwas wie das?

> let b = goo a 
|  where goo f = sum . map f 
|    a = \x -> x * x 
| 
> b [1..3] 
14 
Verwandte Themen