Ich mache ein Framework für die Festlegung von Prozessen, die Entscheidungen beinhalten können. Ich habe es funktioniert, wo jede Wahl eine Insel ist. Ich würde bevorzugen, dass die Unterauswahl "Gabel" die Elternwahl ist, so dass alle Optionen richtig berücksichtigt werden.Führen Sie den Rest des Ruby Blocks mehr als einmal
Gegenwärtig würde es immer 'a' wählen (was an sich besser aussieht), aber Probleme weiter unten verursacht. Aktion: Eine mit der Option 'b' wird nie berücksichtigt.
Ich habe über callcc (nicht tragbar zu allen Ruby-Implementierungen, von dem, was ich gelesen habe) und Fasern (neu in 1.9 und kann nicht angenommen werden, verfügbar zu sein) als Dinge, die überzeugt sein könnten, zu arbeiten, laufen aber ich bin nicht verrückt nach zwei Implementierungen oder nach der schwarzen Magie von beiden, wirklich.
Ich landete den einfachen Ausweg und übergab den Rest der Berechnung als Block. Dies wurde etwas weniger schmerzhaft, als ich eine Ähnlichkeit mit einer bestehenden Struktur sah. Ich hoffe nur, dass die Gedankenstriche nicht aus der Reihe geraten.
Der reale Fall ist wesentlich komplizierter - es gibt Nebenwirkungen, aber sie sind in einem versionierten Schlüsselwertspeicher enthalten. Ich zähle auch alle Möglichkeiten auf und wähle das Beste aus, damit es nicht einfach auf Erfolg verzichten kann.
Ich akzeptiere das, weil es die Frage beantwortet hat, die ich gestellt habe, aber der wirkliche Fall ist wesentlich komplizierter. Ich bin ein wenig fasziniert von "Kette der Entscheidungen zusammen mit der Ausbeute"; Könntest du mich auf einen guten Artikel hinweisen? –
@JustinLove Ich kann keinen Artikel finden, aber ich werde versuchen, hier am nächsten Tag ein Beispiel zu veröffentlichen. – MarkusQ
@Justine Love Siehe unten zum Beispiel. – MarkusQ