8166


scalaのライブラリなどの実装を眺めていると  
たまに

[code]

    (1 to 100).foldLeft(0)((i,j)=>i+j)
    
[/code]

と書くところを

[code]

    (1 to 100).foldLeft(0){case (i,j)=>i+j}
    
[/code]

という風に書いてある事があります。  
下のmatch式が何故 コンパイルエラーにならないのか。  
また何故このように書くのかがさっぱり分かりません。


CC BY-SA 3.0
2015-03-20T01:47:08.580
8160
2015-03-20T04:32:45.777
2015-03-20T01:57:47.790
8928
8928
question
scala
scala　関数を受け取る　引数内でのmatch case


SLS 8.5 Pattern Matching Anonymous Functions で定義されています。FunctionN か
PartialFunction が期待されている箇所に書くことが出来ます。

<http://www.scala-lang.org/files/archive/spec/2.11/08-pattern-
matching.html#pattern-matching-anonymous-functions>


CC BY-SA 3.0
2015-03-20T04:32:45.777
8166
2015-03-20T04:32:45.777
455
8160
answer