Nim トレーニング

GWの気分転換用素材として、 Nim言語のプログラミング練習してたりしてので、 その現状報告。

きっかけ

去年のstapyでNimのことを知る機会があったものの、 なかなか手を出す機会を作れずにいたというのが一つ。

それに加えてリモートワーク化が進んでいる現状で、 エンジニアリング脳にスイッチを切り替えが結構重要になってきた。

そのため、程よい実装難易度なもので脳のギアを上げるなにかが欲しくなり、 プチドリルのつもりで雑に用意してみたのが今回のお題集。

GWから始めたのは、ゲームばっかやってそうで、 意識的にコードを書く週間を維持してたいたいため。

お題と現状

お題自体と書いたコードについては、 GitHubリポジトリ を参照。

この記事のポスト時点では、5/13ほどクリアしている。

お題の選別意図

「自分がその言語を使ってなにかプロダクトを作ることを考える時に、必要になりそうな要素の基礎訓練」 を細かくしていったものとなっている。

以下、 README.rst の要約。

  • fizzbuzz: 基本的なループ処理をしつつ、算術演算と条件分岐の記述方法を確認するのが目的

  • gacha: 乱数生成をおまけに、配列の抽出やフィルタリング処理などを確認するのが目的

  • slack: ペイロードとしてのオブジェクトの基本的な取扱いや、HTTPリクエストの処理を確認するのが目的

  • weather: HTTPレスポンスに含まれる構造データをパース処理するのが目的

  • webserver: 無限ループによるサービス処理の実装とファイルI/Oの処理を確認するのが目的

今思うと最後の難易度だけが若干高いので、後で調整するかもしれない。