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.
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.
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
so etwas wie das?
> let b = goo a
| where goo f = sum . map f
| a = \x -> x * x
|
> b [1..3]
14
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
Der Code, den Sie gepostet haben, scheint bedeutungslos zu sein. Sie sollten eine informelle Beschreibung hinzufügen, was Sie eigentlich erreichen möchten. – chi