Was ist ein guter Weg, um eine unendliche Liste aller Integer in Haskell zu erzeugen

8

Ich habe die folgende Funktion in haskell geschrieben, da sie jede ganze Zahl aufzählt:

%Vor%

Ich frage mich, ob es bessere Möglichkeiten gibt, es zu tun, es scheint ein bisschen zu kompliziert.

Ich frage mich auch, ob es Standardimplementierungen gibt, um alle Elemente im Integer-Gitter der Dimension $ k $ aufzulisten.

    
Chao Xu 17.03.2012, 12:14
quelle

6 Antworten

17
%Vor%

(oder alternativ, wie in @ DanielWagners Lösung im Kommentar unten, die besser funktioniert, glaube ich)

    
Riccardo T. 17.03.2012, 12:22
quelle
6
%Vor%

Natürlich kannst du auch den Weg des Nichtmönchs gehen:

%Vor%

Aber dann wirst du die wahre Bedeutung von mu nicht verstehen.

    
Landei 17.03.2012 15:31
quelle
3
%Vor%

Es gibt keine Standardimplementierungen, um alle Punkte in ℤ k aufzulisten. Nicht einmal für k == 1 , wirklich. Aber mit jeder Aufzählung von ℤ und einem kartesischen Produkt aus zwei Listen, die jedes Paar an einem endlichen Index ausgibt, auch wenn die Listen unendlich sind (einige mögliche Implementierungen). hier ), kannst du selbst rollen.

%Vor%     
Daniel Fischer 17.03.2012 13:15
quelle
1

Wir hatten viele kurze Lösungen. Hier ist eine systematische mit Tupeln von ganzen Zahlen.

%Vor%     
Andrej Bauer 18.03.2012 06:30
quelle
1

map (*) [1..] <*> [1,-1] was neu geschrieben werden kann

%Vor%

oder sogar

%Vor%     
mb14 04.03.2018 23:00
quelle
0
%Vor%

Eine viel einfachere Methode als einige, die hier gepostet wurden (obwohl es nicht die übliche Reihenfolge ist).

    
jwg 24.06.2014 14:20
quelle

Tags und Links