LoginSignup
3
1

More than 1 year has passed since last update.

簡単Elixirシリーズ 〜 うるう年判定をJSとElixirで比較してみる簡単なお仕事

Posted at

Elixir
東京にいるけどFukuokaexのYOSUKEです。

簡単 Elixirシリーズでは小ネタをサクッと書いていこう。というコンセプトで作っていきます。

仕事柄、Elixir以外の言語を使ってサンプルコードを作成する。または教材を作ることをやっています。最近、うるう年か否かを返してくれる関数を作りなさい。というお題のJavaScriptのコードを書いたので、Elixirで書くとどうなるか?を試してみようという記事です。(そう、この記事はサクッとがコンセプトW)

お題は、isLeap("2004")という関数を実行して、trueのような結果を返すものです。

まずは、JavaScriptのコードを見てみましょう。

function isLeap(string){

    const year = parseInt(string,10)
    if(year%4===0){
        if(year%100===0){
            if(year%400!==0){
                console.log(false)
                return false
            }
        }
        console.log(true)
        return true
    }
    console.log(false)
    return false
}

これをElixirにしてみます。

defmodule Judgment do
  def isLeap?(string_year) do
    string_year
      |> String.to_integer
      |> Date.new(1,1)
      |> elem(1)
      |> Date.leap_year?
  end
end

こんな感じでしょうか? 他にも色々な書き方はあると思います。

3
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1