Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Juliaを書いていて「便利だな〜」と 思ってたらスライド出来上がってた

cyokozai
October 15, 2024
26

Juliaを書いていて「便利だな〜」と 思ってたらスライド出来上がってた

Julia言語で研究用のコードを書いていたら、結構便利だなと思ったif式のことを話したくなったので書きました。
5分LTだから内容薄いです...

cyokozai

October 15, 2024
Tweet

Transcript

  1. 自己紹介 井上 裕介 a.k.a cyokozai 千葉工業大学 情報科学部 情報工学科 B4 ❏

    ネットワークコンテンツ研究会 Nekko Cloud Team ❏ 株式会社スリーシェイク sreake事業部 学生インターン生
  2. if文による条件分岐 便利なif式 • よく見る普通のif文 val = rand(Float64) if val >

    0.8 fruit1 = "apple" elseif val > 0.4 fruit1 = "banana" else fruit1 = "melon" end
  3. さっきのコードをこうしてこうじゃ! 便利なif式 calc = if method == "add" (x, y)

    -> x + y elseif method == "sub" (x, y) -> x - y end end function calc(x, y) if method == "add" return x + y elseif method == "sub" return x - y end end
  4. 第一級関数とはなんぞや? • 値 (String, Int, etc)と関数を同等に扱う -> Juliaでは関数の型(Function)が存在する • 以下の4つの要素を持つ

    関数を引数として渡す 関数を変数に代入 関数を戻り値として返す データ構造内での関数 ちょっぴり入門 関数型言語
  5. 第一級関数の特徴 ちょっぴり入門 関数型言語 calc = if method == "add" (x,

    y) -> x + y elseif method == "sub" (x, y) -> x - y end end • if式は論理式の成立した ブロックの値を返す
  6. 第一級関数の特徴 ちょっぴり入門 関数型言語 calc = if method == "add" (x,

    y) -> x + y elseif method == "sub" (x, y) -> x - y end end • if式は論理式の成立した ブロックの値を返す • if式の戻り値は無名関数 -> 高階関数っぽい...?
  7. 第一級関数の特徴 ちょっぴり入門 関数型言語 calc = if method == "add" (x,

    y) -> x + y elseif method == "sub" (x, y) -> x - y end end • if式は論理式の成立した ブロックの値を返す • if式の戻り値は無名関数 -> 高階関数っぽい...? • 関数を変数calcへ代入 -> 第一級関数の特徴!