: Eğer varsa bu neden olabilirScala: Yüklem İstisna tutmaz bu istisna Scala ne demek
java.util.NoSuchElementException: Predicate does not hold for ...
: Eğer varsa bu neden olabilirScala: Yüklem İstisna tutmaz bu istisna Scala ne demek
java.util.NoSuchElementException: Predicate does not hold for ...
scala.util.Try(2).filter(_ < 0) // Failure(java.util.NoSuchElementException: Predicate does not hold for 2)
for {
v <- scala.util.Try(2)
if v < 0
} yield v // Failure(java.util.NoSuchElementException:
özgü olduğunda
bir yolu olan bir for-anlama, bir bir yüklemi deneyin birleştirir (if
ifade) : Try ait
for {
x <- Try(expr) if booleanExpr
} {
...
}
filter
yöntem booleanExpr
false
olarak değerlendirilirse döngü gövdesini atlamak için java.util.NoSuchElementException atabilir. Bu istisna
reason
alan "Yüklem için tutmaz ..."
, bunun filter
uygulayan arada bu neden deneyin uygulanması olmasıdır - bir for comprehension
içinde koşullu (varsa) kullandığınızda derleyici tarafından denir yöntemi:
if (p(value)) this
else Failure(new NoSuchElementException("Predicate does not hold for " + value))
Lütfen bu bilgilerin kaynağını belirtin. Bildiğim kadarıyla, '' '' '' '' 'ile' 'Filter' içine aktarılır. Döngü gövdesini atlamak için 'NoSuchElementException 'atma hakkında hiçbir şey duymadım. – Aivean
@Aivean https://github.com/scala/scala/blob/2.11.x/src/library/scala/util/Try.scala#L241 –
@ GuillaumeMassé, anladım. Brent'in cevabı, bunun “anlama” ile ilgili olduğunu, bunun “Dene” nin “filtresi” ile ilgili olduğuna dair yanlış bir izlenim yarattı. – Aivean
An kavramada kullanılıyor mu? –
Aslında, evet, anlamadaki ifadelerden birinin içinde gerçekleşmiş gibi görünmüyor, asla vücuda getirmiyor. – automorphic
Tüm hatayı ve kodu yapıştırabilir misiniz? –