Gibt es ein Paket oder Sprachkonstrukt in R, das die Implementierung von "Python-like generators" erleichtert oder bereitstellt?Generatorfunktionen in R
Mit "Python-like-Generatoren" Ich Funktionen bedeuten, den Staat zwischen den Anrufen zu halten, in R Syntax und borgen das Schlüsselwort Ausbeute von Python wird so etwas wie sein:
iterable.fun <- function(){
yield list('a','b','c')
}
Mit Ausbeute statt eine Rückkehr, dann würde die Funktion dreimal hintereinander Aufruf geben:
> iterable.fun()
'a'
> iterable.fun()
'b'
> iterable.fun()
'c'
Edit: ich ein als links aus Python-Generatoren, die sie von Iteratoren unterscheiden. Die gesamte Liste der zu iterierenden Objekte wird nicht beim ersten Aufruf erstellt und dann iteriert. Bei jedem Funktionsaufruf wird jedoch das eine Element erstellt, das für diesen Aufruf zurückgegeben wird.
R versucht, eine funktionale Sprache zu sein. Diese Anforderung kann nur durch einen nichtfunktionalen Ansatz erfüllt werden. Sie können die Funktionalität bei Bedarf mit "<< -" unterwandern, aber es ist wahrscheinlich besser, sich das Endziel vorzustellen und eine funktionierende Lösung zu finden. –
Ähnliche Fragen: http://stackoverflow.com/questions/23509381/lazy-sequences-in-r – cbare
Auch Luke Tierney schrieb eine [Lazy List Implementierung] (http://homepage.cs.uiowa.edu/~ luke/R/faul/faul.pdf). – cbare