nomurabbitのブログ

nomurabbitのブログはITを中心にした技術ブログです。

nomurabbitのブログ

【AWS】LambdaでBB/9求めてみた【C#】

こんにちは!nomurabbitです。
今回はBB/9をC#のLambdaで求めてみます。

BB/Kは
野球で投手のコントロールを評価するための
セイバーメトリクスの指標ですね。

テンプレートの準備

まず、Lambdaのテンプレートを準備します。

.NET Core3.1のテンプレートは、
この記事この記事を参考にしてください。

ソースコード

今回は単純な数値の演算です。
ソースコードのポイントは下記の通りです。

public GlbResponseBody GetAction(GlbRequestBody glbRequestBody)
{
    try
    {
        int argWalks            = int.Parse(glbRequestBody.Walks);
        double argInningPitched = double.Parse(glbRequestBody.InningPitched);

        double bb9 = 1.0 * argWalks / argInningPitched * 9;

        GlbResponseBody glbResponseBody = new GlbResponseBody();

        // calc bb9
        glbResponseBody.Bb9 = (bb9).ToString("F3");

        return glbResponseBody;
    }
    catch (System.Exception e)
    {
        throw e;
    }
}

演算に必要なパラメータは

  • 四球(walks)
  • 投球回(inning_pitched)

です。

リクエストに入れて渡すと、
レスポンスとしてBB/9が返ってきます。

GitHubソースコードを載せていますので、
よろしければ参考にしてください。

github.com

以上でセイバーメトリクスの指標である
BB/9を求めるLambdaをC#で書くことができました。

よかったら試してみてください。
では!