enumerable

___ answer9400276 ___

Zum Spaß, hier ist ein Trick, um eine echte unendliche Sequenz in einem einzigen Ausdruck zu erstellen. Die ersten beiden Definitionen sind Klassenfelder, so dass sie keinen zu initialisierenden Ausdruck benötigen.

%Vor%     
___ answer9405866 ___

Hier ist eine ähnliche Antwort wie bei der angegebenen @ hvd, aber mit dem Operator %code% definiert hier , dies beseitigt die Notwendigkeit für die lokalen Variablen:

%Vor%

Ein Beispiel wäre:

%Vor%

Was würde 20, 10, 5, 2,5 usw. ausgeben ...

Ich würde nicht empfehlen, dies im Produktionscode zu verwenden, aber es macht Spaß.

Der Operator %code% erlaubt auch andere rekursive Lambda-Ausdrücke, z. B .:

%Vor%     
___ answer9399919 ___
%Vor%

Es ist nicht wirklich unendlich, aber da sowohl %code% als auch %code% eine verzögerte Ausführung verwenden, werden Sie keine Leistung verlieren.

Ich kenne keinen nativen Weg, um einen unendlichen linq Ausdruck zu erstellen.

Oder Sie können die unendliche Version von %code%

manuell schreiben     
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123linq ___ Die Language Integrated Query (LINQ) ist eine Microsoft .NET Framework-Komponente, die native Datenabfragefunktionen zu .NET-Sprachen hinzufügt. Bitte denken Sie bei Bedarf daran, ausführlichere Tags zu verwenden, zum Beispiel [linq-to-sql], [linq-to-entities] / [entity-framework] oder [plinq] ___ answer9399781 ___

Ich kenne keinen einzigen Ausdruck Weg, aber ich fand diesen cleveren Generator-Code hier: Ссылка

%Vor%

In Ihrem Fall würden Sie es verwenden:

%Vor%     
___ answer9401445 ___

Ich kenne keine Möglichkeit, mit LINQ eine unendliche Sequenz zu erstellen. Sie könnten jedoch eine sehr lange Sequenz erstellen.

%Vor%

Da %code% jedoch eine endliche Genauigkeit hat, erhalten Sie wahrscheinlich nur Nullen, wenn %code% zu hoch wird. Sie müssen experimentieren, um zu sehen, was passiert und wie hoch %code% sein kann, bevor es funktioniert.

    
___ qstntxt ___

Stellen Sie sich eine unendliche Folge ihrer aufeinanderfolgenden Hälften vor.

%Vor%

(Ignorieren Sie numerische Instabilitäten in %code% .)

Kann dies in einem einzelnen Ausdruck geschehen, ohne irgendwelche benutzerdefinierten Erweiterungsmethoden oder Generatormethoden zu schreiben?

    
___ tag123infinitesequence ___ hilf uns dieses Wiki zu bearbeiten ___ tag123sequenzen ___ Eine Sequenz ist ein beliebiger Typ, für den eine bijektive Beziehung zwischen den Ganzzahlen "0..n" und den Elementen der Sequenz besteht, und auf die Elemente kann in der Reihenfolge '0..n' zugegriffen werden, wobei 'n 'ist die Anzahl der Elemente in der Sequenz. ___ qstnhdr ___ Linq-Anweisung für eine unendliche Folge aufeinanderfolgender Hälften ___ Tag123Enumerable ___ "Aufzählbar" bezieht sich auf ein Ordnungsschema, mit dem Elemente in einer Gruppe, Sequenz oder Sammlung leicht adressiert oder durchlaufen werden können. ___
6
Antworten

Rubin am längsten Wort im Array

Ich habe diese Methode entwickelt, um das längste Wort in einem Array zu finden, aber ich frage mich, ob es einen besseren Weg dafür gibt. Ich bin ziemlich neu in Ruby und habe das einfach als Übung zum Erlernen der inject Methode gemacht....
06.03.2011, 19:55
5
Antworten

Gibt es ein umgekehrtes "Mitglied"? Methode in Rubin?

Ich überprüfe oft, ob ein Wert zu irgendeinem Set gehört. Wie ich es verstehe, verwenden Menschen normalerweise Enumerable # Member? dafür. %Vor% Allerdings fühlt sich das etwas weniger elegant an als die meisten Dinge in Ruby. Ich schreibe...
15.11.2011, 08:26
2
Antworten

Ruby: Wählen Sie zwischen jedem, map, inject, each_with_index und each_w_object

Als ich vor vielen Jahren angefangen habe, Ruby zu schreiben, brauchte ich eine Weile, um den Unterschied zwischen each und map . Es wurde noch schlimmer, als ich all die anderen Enumerable und Array Methoden. Mit Hilfe der offiziellen...
07.11.2016, 16:04
3
Antworten

In Ruby aufzählbar

Ich versuche, Enumerable (wie Array) umzukehren, ohne die reverse -Methode zu verwenden, sondern reverse_each iterator. Ich hoffte, dass folgender Code genügt: %Vor% jedoch gibt der Block das Array nicht in umgekehrter Reihenfolge z...
01.06.2012, 16:23
6
Antworten

Ruby: Gibt es etwas wie Enumerable # drop, das einen Enumerator anstelle eines Arrays zurückgibt?

Ich habe einige große Dateien mit fester Breite und muss die Kopfzeile löschen. Der Überblick über einen Iterator scheint nicht sehr idiomatisch zu sein. %Vor% Was ist das Ruby-Idiom dafür?     
04.02.2010, 13:39
1
Antwort

Moq First () Last () und GetEnumerator () wierdness

Ich moqing meine Route Teile von a rps = neue Liste <IRoutePart> ... (3 Routenteile) und Moqing GetEnumerator () für meine Route wie folgt route.Setup (ro = & gt; ro.GetEnumerator ()). Gibt (rps.GetEnumerator ()); zurück , aber...
15.07.2011, 00:23
4
Antworten

Anonymer Typ mit Linq und Guid

Ich habe eine einfache Tabelle: ID | Wert Wenn ich das tue: %Vor% jedes Element in der Projektion hat den Wert der gleichen Guid ... Wie schreibe ich das, so dass ich einen anderen zufälligen Guid-Wert für jedes Element in der Projekt...
10.03.2011, 21:24
1
Antwort

rails - bei Verwendung von Group_by - Wie bekomme ich einen Index?

Ich habe folgendes: %Vor% Problem ist, dass ich einen Index brauche. Also habe ich das obige mit: aktualisiert %Vor% Das bricht dann mit dem Fehler ab: undefinierte Methode 'last' für 0: Fixnum Ideen? Danke     
12.02.2011, 22:23
5
Antworten

Kann Callback-Anrufe in IEnumerable umwandeln

Ich schreibe einen Wrapper um eine Bibliothek eines Drittanbieters und er hat eine Methode, die von ihm verwalteten Daten zu scannen. Die Methode verwendet eine Rückrufmethode, die für jedes Element in den gefundenen Daten aufgerufen wird. z....
10.02.2011, 10:01
3
Antworten

Warum gibt Enumerable # find / # detect ein Array zurück, auch wenn es auf einem Hash aufgerufen wird?

Die Dokumentation für Enumerable#find / #detect lautet:    find(ifnone = nil) { |obj| block } → obj or nil find(ifnone = nil) → an_enumerator       Übergibt jeden Eintrag in enum an block . Gibt das erste für den Block z...
27.04.2013, 10:03