Jak uzyskać pojedynczy element z pętli for scala?
Podobnie jak to pytanie:
Kod funkcjonalny do pętli z wczesnym wyjściem
Powiedz kod
def findFirst[T](objects: List[T]):T = {
for (obj <- objects) {
if (expensiveFunc(obj) != null) return /*???*/ Some(obj)
}
None
}
Jak uzyskać pojedynczy element z pętli for w ten sposób w scali?
Nie chcę używać find, jak zaproponowano w pierwotnym pytaniu, jestem ciekawy, czy i jak można go zaimplementować przy użyciu pętli for.
* AKTUALIZACJA *
Po pierwsze, dziękuję za wszystkie komentarze, ale myślę, że nie było jasne w pytaniu. Strzelam do czegoś takiego:
val seven = for {
x <- 1 to 10
if x == 7
} return x
I to się nie kompiluje. Dwa błędy to: - powrót poza definicją metody - metoda main ma instrukcję return; typ wyniku potrzeb
Wiem, że find () byłby lepszy w tym przypadku, uczę się i badam język. A w bardziej złożonym przypadku z kilkoma iteratorami, myślę, że znalezienie z może być użyteczne.
Dzięki komentatorom, rozpocznę nagrodę, aby zrekompensować złe pozowanie pytania :)