Gleamに入門中

Gleamは静的型付け言語であり、関数型言語。

GleamでFizzBuzzを解いてみるとこんなかんじ。 |> で戻り値を次の関数の第一引数として渡すことができる。

import gleam/int
import gleam/io
import gleam/list
import gleam/string

pub fn main() {
  list.range(1, 100)
  |> list.map(fizzbuzz_fold)
  |> string.join("\n")
  |> io.print
}

fn fizzbuzz_fold(n: Int) -> String {
  case n {
    _ if n % 15 == 0 -> "FizzBuzz"
    _ if n % 3 == 0 -> "Fizz"
    _ if n % 5 == 0 -> "Buzz"
    _ -> int.to_string(n)
  }
}

このサイトでGleamに関するライブラリを横断検索できる。 https://gloogle.run/