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 :)

questionAnswers(9)

yourAnswerToTheQuestion