scheme

Scheme ist eine funktionale Programmiersprache in der Lisp-Familie, die dem Lambda-Kalkül sehr ähnlich ist, mit eifriger (applicative-order) -Auswertung. Bei Fragen zu URL-Schemas verwenden Sie bitte das Tag "url-scheme".
2
Antworten

Wie bekomme ich ein Objekt aus einer Liste in einem bestimmten Index in Racket-Sprache?

Ich versuche ein Element aus einer Liste in einem bestimmten Index für eine Schleifenanweisung zu bekommen. %Vor% In diesem Fall ist best die Liste und ich muss den Wert am countdown Index erhalten. Könnten Sie mir dabei helfen?     
09.05.2012, 20:08
1
Antwort

___ tag123recursion ___ Rekursion ist eine Art Funktionsaufruf, bei dem sich eine Funktion selbst aufruft. Solche Funktionen werden auch rekursive Funktionen genannt. Strukturelle Rekursion ist eine Methode zur Problemlösung, bei der die Lösung eines Problems von Lösungen für kleinere Instanzen des gleichen Problems abhängt. ___ tag123scheme ___ Scheme ist eine funktionale Programmiersprache in der Lisp-Familie, die dem Lambda-Kalkül sehr ähnlich ist, mit eifriger (applicative-order) -Auswertung. Bei Fragen zu URL-Schemas verwenden Sie bitte das Tag "url-scheme". ___ answer13664715 ___

Damit eine Funktion tail-rekursiv ist, muss nach der Rückgabe der Funktion nichts weiter zu tun sein, als ihren Wert zurückzugeben. Das heißt, das letzte, was im rekursiven Schritt passiert, ist der Aufruf der Funktion selbst. Dies wird im Allgemeinen durch Verwendung eines Akkumulatorparameters erreicht, um die Antwort zu verfolgen:

%Vor%

Die obige Prozedur wird zunächst mit %code% als Akkumulator wie folgt aufgerufen:

%Vor%

Beachten Sie, dass der akkumulierte Wert zurückgegeben wird, wenn der Basisfall erreicht wird, und dass der Parameter %code% an jedem Punkt des rekursiven Aufrufs aktualisiert wird. Ich musste der Prozedur einen zusätzlichen Parameter hinzufügen, aber dies kann vermieden werden, indem man eine innere Prozedur oder eine benannte %code% definiert, zum Beispiel:

%Vor%     
___ tag123tailrecursion ___ Die Tail-Rekursion ist eine rekursive Strategie, bei der eine Funktion eine gewisse Menge an Arbeit ausführt und sich dann selbst aufruft. Der "Schwanz" bezieht sich auf die Tatsache, dass die Rekursion am Ende der Funktion ist. Viele - insbesondere funktionale - Programmiersprachen-Compiler können diese Arten von Aufrufen in Iteration umwandeln, was bedeutet, dass die Tail-Rekursion in unterstützten Sprachen ohne Angst vor einem Stack-Überlauf verwendet werden kann, unabhängig von der Anzahl der Aufrufe. ___ qstntxt ___

Ich lerne für einen Weihnachtstest und mache ein paar Prüfungsfragen, ich bin auf dieses Problem gestoßen, das mich ein wenig ratlos macht.

Ich kann reguläre Rekursion gut machen, aber ich kann nicht meinen Kopf darum drehen, wie ich dasselbe mit der Schwanzrekursion schreiben kann.

Reguläre Version:

%Vor%     
___

Ich lerne für einen Weihnachtstest und mache ein paar Prüfungsfragen, ich bin auf dieses Problem gestoßen, das mich ein wenig ratlos macht. Ich kann reguläre Rekursion gut machen, aber ich kann nicht meinen Kopf darum drehen, wie ich dass...
01.12.2012, 23:01
4
Antworten

Wann sind in Haskell Lambda-Formen notwendig?

Ich bin ein Neuling für Haskell und ein relativer Neuling für funktionale Programmierung. In anderen (neben Haskell) Sprachen sind Lambda-Formen oft sehr nützlich. Zum Beispiel in Schema: %Vor% Erzeugt einen Abschluss (über die Funktion f...
18.08.2011, 21:47
5
Antworten

Quellcode-Beautifier für Lisp (Common Lisp, Scheme, Clojure) [geschlossen]

Gibt es Quellcode-Verschönerer für Lisp-Sprachen, besonders Clojure. Ich weiß, dass es viele für Sprachen wie C / C ++ gibt (AStyle, Uncrustify, etc) Ich kann nicht finden, irgendwelche für die Lisp Sprachen. Mein Code ist ein Chaos vie...
29.08.2012, 07:22
7
Antworten

Scheme-by-Referenz

Wie kann ich eine Variable als Referenz im Schema übergeben? Ein Beispiel für die Funktionalität, die ich möchte: %Vor% Gibt es auch eine Möglichkeit, als Referenz zurückzukehren?     
16.07.2010, 05:17
3
Antworten

Warum ist cond ein spezielles Formular in Scheme und nicht eine Funktion?

%Vor% Dinge, die ich über Cond weiß Es erlaubt mehrere Test- und alternative Ausdrücke Es hat eine vordefinierte Bewertungsreihenfolge. Zum Beispiel wird die erste Bedingung immer ausgewertet, ob es richtig ist oder nicht Eine Sache,...
01.11.2015, 18:32
3
Antworten

Lispy Dialekte mit guter mehrdimensionaler Array-Programmierung

Gibt es Lisp- oder Schema-Dialekte, die eine gute Unterstützung für Array- und lineare algebraische Manipulationen bieten? Mit guter Unterstützung meine ich nicht Schnittstellen zu BLAS / LAPACk, sondern effiziente Array-Primitive in der Sprache...
15.07.2011, 02:54
1
Antwort

Schema: CAR und CDR einer Liste

Ich bin verwirrt, wie car und cdr auf Listen arbeiten. Hier ist ein Beispiel von dem, was ich versucht habe: %Vor% Beim Eingeben des Wertes '(A B C D E F) , hier ist was ich bekomme: %Vor% Ich kann nicht verstehen, dass quote...
03.07.2010, 19:41
4
Antworten

Neben den First-Class-Funktionen und dem Lexical-Scoping, was teilt JavaScript mit Scheme-Implementierungen?

Ich habe mich immer gefragt, warum Douglas Crockford JavaScript mit Scheme vergleicht. Ja, JS sollte vom Designer entworfen werden. Aber neben der Unterstützung der ersten Klassenfunktion und dem lexikalischen Scoping (gebrochen), welche Eigensc...
12.03.2011, 13:23
4
Antworten

Konvertieren Sie die Zeichenfolge in Code in Schema

Wie konvertiere ich einen String in den entsprechenden Code in PLT Scheme (der die Methode string->input-port nicht enthält)? Zum Beispiel möchte ich diese Zeichenfolge konvertieren: %Vor% in diese Liste: %Vor% Ist es möglich, dies...
25.11.2008, 21:33