Ciao a tutti sto cercando di capire il simbolo "_" in scala, sembra un carattere jolly ma non ho capito perché nel dato scenario.perché il segnaposto scala non funziona
var l = List("a","b" ,"c")
// Works "s" works as a variable.
l.foreach(s =>
if(s=="a"){
print(s)
}
)
// Works _ takes the place of "s"
l.foreach(
print(_)
)
//So the doubt is whether "_" is a wildcard that does not work well.
l.foreach(
if(_=="a"){
print(_)
}
)
"_" dovrebbe agire come la variabile s
, ma perché non lo fa?
Sono del 99,8973% sicuro che '_' funzioni correttamente. È come lo stai usando, o cosa ti aspetti da questo, questo è il problema. – cHao
Dovresti leggere http://stackoverflow.com/questions/8000903 tra le altre cose. Stai mescolando usi di underscore, credo. (Inoltre, il carattere di sottolineatura può essere usato esattamente una volta per variabile, un secondo trattino di sottolineatura cerca di legarsi a una seconda variabile, non la prima una seconda volta. Quindi: 'foreach {_ + 1}' è okay, 'foreach {_ * _ } 'is not. Se è necessario fare riferimento alla stessa variabile più volte, denominarlo:' foreach {x => x * x} ').) –