関数パラメーターリストではなく関数本体の型を理解する方法

ダニエルウー

Play FrameworkのAction.scalaのファイルには、次の関数があります。

  final def apply[A](bodyParser: BodyParser[A])
         (block: R[A] => Result): Action[A] 
         = async(bodyParser) { req: R[A] =>
    Future.successful(block(req))
  }

以下のようなセクションがあります。

  { req: R[A] =>
        Future.successful(block(req))
      }

関数パラメータリストにある場合:これは、reqが次のタイプであることを意味します

   R[A] =>Future.successful(block(req))

しかし、block(req)でreqを使用したため、再帰的に見えます。そして今、それはパラメータリストではなく本文にあります、それをどのように理解するのですか?

Siphor

いいえ、reqはタイプR [A]です。
req:R [A] => Future.successful(block(req))は、タイプR [A]のオブジェクトを受け取り、Future.successful(block(req))を返す関数です。

例:

def fun(param:Int=>String)=param(9)

関数をパラメーターとして受け取る関数を宣言します

def fun2 = fun({i:Int=>i.toString})

実装された関数を楽しくします

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

関数から関数本体スコープまでのパラメーター変数を使用するにはどうすればよいですか?

分類Dev

関数パラメーターの後、関数本体の前のchar * in_strの意味は何ですか?

分類Dev

Haskell-関数本体のtype-signatureで指定された型パラメーターを使用するにはどうすればよいですか?

分類Dev

Scalaの関数本体で型パラメーターを参照できませんか?

分類Dev

Rust関数のパラメーター型宣言を理解する

分類Dev

関数本体で指定されていないジェネリック型パラメーターにアクセスするにはどうすればよいですか?

分類Dev

Kotlinで具体化された型パラメーターを関数本体の型パラメーターとして使用することはできません

分類Dev

パラメータで関数のリストを渡す方法は?(UnityAction [])

分類Dev

DrRacketで関数本体エラーが発生するのはなぜですか?

分類Dev

Python関数のパラメーター形式を理解する方法

分類Dev

Haskell関数のパラメーターを理解する方法

分類Dev

関数本体のコロンがJavaScriptでエラーをスローしないのはなぜですか?

分類Dev

初期化リスト以外のコンストラクター関数本体で計算を行うことは可能ですか?

分類Dev

C#、パラメータで必要な順序リストの関数を作成する方法

分類Dev

React.js。関数本体でパラメーター(および小道具は引数になります)または参照小道具を使用してメソッドを作成する方が良いですか?

分類Dev

JavaScriptパーサーがJSONを関数本体として受け入れるのはなぜですか?

分類Dev

オブジェクト型パラメータも必要な場合、文字列型の関数でパラメータを渡す方法は?

分類Dev

関数のパラメーターとしてリストを使用し、関数が実際のパラメーターの値を変更できず、仮パラメーターのみを変更できるのはなぜですか?

分類Dev

テンプレート引数リストを明示的に指定できないので、テンプレートパラメーターパックが関数引数型で使用されるのはなぜですか

分類Dev

テンプレート引数リストを明示的に指定できないので、テンプレートパラメーターパックが関数引数型で使用されるのはなぜですか

分類Dev

テンプレート引数リストを明示的に指定できないので、テンプレートパラメーターパックが関数引数型で使用されるのはなぜですか

分類Dev

Elasticsearch:スクリプト関数のソースパラメーターを最適化する方法は?

分類Dev

パラメータなしでHaskell関数を書く方法は?

分類Dev

bashテスト内のパラメーターで関数を使用する方法[

分類Dev

オブジェクト指向のコード構造に移行することなく、スクリプト内の多くの関数に多くのパラメーターを渡すためのよりクリーンな方法はありますか?

分類Dev

関数の本体で変数を定義できるのに、なぜ関数でパラメーターを使用するのですか?

分類Dev

関数パラメータリスト内の関数ポインタから `(*)`を省略できるのはなぜですか?

分類Dev

bashスクリプトで、ある関数から別の関数への関数呼び出しで引数/パラメーターを渡す方法

分類Dev

.reduce()の多くの関数パラメーターを理解する

Related 関連記事

  1. 1

    関数から関数本体スコープまでのパラメーター変数を使用するにはどうすればよいですか?

  2. 2

    関数パラメーターの後、関数本体の前のchar * in_strの意味は何ですか?

  3. 3

    Haskell-関数本体のtype-signatureで指定された型パラメーターを使用するにはどうすればよいですか?

  4. 4

    Scalaの関数本体で型パラメーターを参照できませんか?

  5. 5

    Rust関数のパラメーター型宣言を理解する

  6. 6

    関数本体で指定されていないジェネリック型パラメーターにアクセスするにはどうすればよいですか?

  7. 7

    Kotlinで具体化された型パラメーターを関数本体の型パラメーターとして使用することはできません

  8. 8

    パラメータで関数のリストを渡す方法は?(UnityAction [])

  9. 9

    DrRacketで関数本体エラーが発生するのはなぜですか?

  10. 10

    Python関数のパラメーター形式を理解する方法

  11. 11

    Haskell関数のパラメーターを理解する方法

  12. 12

    関数本体のコロンがJavaScriptでエラーをスローしないのはなぜですか?

  13. 13

    初期化リスト以外のコンストラクター関数本体で計算を行うことは可能ですか?

  14. 14

    C#、パラメータで必要な順序リストの関数を作成する方法

  15. 15

    React.js。関数本体でパラメーター(および小道具は引数になります)または参照小道具を使用してメソッドを作成する方が良いですか?

  16. 16

    JavaScriptパーサーがJSONを関数本体として受け入れるのはなぜですか?

  17. 17

    オブジェクト型パラメータも必要な場合、文字列型の関数でパラメータを渡す方法は?

  18. 18

    関数のパラメーターとしてリストを使用し、関数が実際のパラメーターの値を変更できず、仮パラメーターのみを変更できるのはなぜですか?

  19. 19

    テンプレート引数リストを明示的に指定できないので、テンプレートパラメーターパックが関数引数型で使用されるのはなぜですか

  20. 20

    テンプレート引数リストを明示的に指定できないので、テンプレートパラメーターパックが関数引数型で使用されるのはなぜですか

  21. 21

    テンプレート引数リストを明示的に指定できないので、テンプレートパラメーターパックが関数引数型で使用されるのはなぜですか

  22. 22

    Elasticsearch:スクリプト関数のソースパラメーターを最適化する方法は?

  23. 23

    パラメータなしでHaskell関数を書く方法は?

  24. 24

    bashテスト内のパラメーターで関数を使用する方法[

  25. 25

    オブジェクト指向のコード構造に移行することなく、スクリプト内の多くの関数に多くのパラメーターを渡すためのよりクリーンな方法はありますか?

  26. 26

    関数の本体で変数を定義できるのに、なぜ関数でパラメーターを使用するのですか?

  27. 27

    関数パラメータリスト内の関数ポインタから `(*)`を省略できるのはなぜですか?

  28. 28

    bashスクリプトで、ある関数から別の関数への関数呼び出しで引数/パラメーターを渡す方法

  29. 29

    .reduce()の多くの関数パラメーターを理解する

ホットタグ

アーカイブ