こんにちは皆、私はスカラーでシンボル "_"を理解しようとしていますが、ワイルドカードのように見えますが、理由は分かりません。スカラープレースホルダーが機能しない理由
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(_)
}
)
は "_" 変数s
のように行動しなければならないが、それはしていませんなぜですか?
私は約99.8973%ですが、 '_'はうまく動作します。それはあなたがそれをどのように使っているのか、それを期待しているのか、それが問題です。 – cHao
他にも、http://stackoverflow.com/questions/8000903をお読みください。あなたはアンダースコアを混ぜて使っていると思います。 (また、アンダースコアは変数ごとに1回だけ使用することができ、2番目のアンダースコアは2番目の変数にバインドしようとしますが、2番目の変数にバインドしようとしません:foreach {_ + 1} 'ok '、foreach {同じ変数を複数回参照する必要がある場合は、 'foreach {x => x * x}'))。 –