Es gibt diese Enumerator#feed method, die ich zufällig entdeckt habe. Es ist wie folgt definiert:Die Magie von Enumerator # feed
Feed obj → nil
Setzt den Wert der nächsten Ertrag innerhalb e zurückgegeben werden. Wenn der Wert nicht festgelegt ist, gibt die Ausbeute null zurück. Dieser Wert wird gelöscht, nachdem er zurückgegeben wurde.
studierte ich die Beispiele und dachte »Yay«, sollte diese feed
mit arbeiten:
enum = ['cat', 'bird', 'goat'].each # creates an enumerator
enum.next #=> 'cat'
enum.feed 'dog'
enum.next #=> returns 'bird', but I expected 'dog'
Aber es funktioniert nicht. Ich nehme an, es gibt 'dog'
nicht zurück, weil each
intern yield
nicht verwendet.
Die Sache ist, dass ich keine realen Anwendungsfälle aus dem angegebenen Beispiel in der Dokumentation ableiten konnte, Google ist kein Freund mit dieser Frage, und (von dem, was ich versucht habe) feed
scheint nicht zu funktionieren gut mit den anderen Enumerator
/Enumeration
Methoden.
Können Sie mir bitte ein gutes Beispiel geben, das erklärt feed
, so kann ich meinen Kopf herumkommen?
Bitte geben Sie einigen Kontext in der Post. Die Antworten zu StackOverflow sollten nicht "[kaum mehr als ein Link zu einer externen Site] sein" (http://stackoverflow.com/faq#deletion) – Gareth
@Gareth Ist es in Ordnung? oder mehr Kontext muss ich hinzufügen? Ich denke, was ich dort geschrieben habe, dreht sich alles um das 'enum # feed'. –
@Priti, ich mag das 'map!' Beispiel sehr - danke. Ich hoffe immer noch mehr Antworten mit mehr Beispielen zu bekommen. Derzeit scheint "feed" in der "echten Welt" ziemlich nutzlos zu sein. – tessi