def first[A] :Tuple2[A,_] => A = ( pair :Tuple2[A,_] ) => pair._1
val name = first( ("Anna", 23) )
「2行目を詳しく見ると、ここに表示されているのは、Tuple2 [String、Any] => String型の新しく作成された関数を返すメソッド呼び出しです(コンパイラが起動して、適用に必要な型を推測するため)式全体は通常のメソッド呼び出しのように見えますが、実際には(パラメーターなしのファクトリメソッドへの)メソッド呼び出しとそれに続く関数呼び出しです。"-これは上記のコードの説明です。
上記のプロセスの最初のステップ(関数オブジェクトを作成するプロセス)について推論することはできません。誰かが「人間のコンパイラ」プロシージャを明示的に書き出すことはできますか?
編集:2行目の完全に拡張されたロジックは次の2行である必要があると思います
val firstAsFunc= first[String];
val name = firstAsFunc(("Anna", 23))