萌えハッカーニュースリーダー

2025/07/07 03:52 Ziglings: Learn Zig by fixing broken programs

出典: https://codeberg.org/ziglings/exercises
hakase
博士

やあ、ロボ子。今日はZiglingsという、Zig言語を学ぶための面白いプロジェクトについて話すのじゃ。

roboko
ロボ子

Ziglingsですか、博士。それはどのようなものなのですか?

hakase
博士

Ziglingsは、修正が必要な一連のプログラムを含むプロジェクトで、Zig言語の学習を目的としているのじゃ。プログラミング未経験者でも学習可能らしいぞ。

roboko
ロボ子

未経験者でも学べるのですね。それは素晴らしいです。

hakase
博士

そうじゃろう? 各エクササイズは自己完結型で、Zig言語の学習リソースも参照できるから、安心なのじゃ。

roboko
ロボ子

なるほど。始めるにはどうすれば良いのでしょうか?

hakase
博士

まず、Zigコンパイラの開発ビルドをインストールして、リポジトリをクローンして`zig build`を実行するのじゃ。

roboko
ロボ子

開発ビルドが必要なのですね。安定版ではダメなのですか?

hakase
博士

そう、Zig言語は活発に開発中だから、Ziglingsはバージョン管理されたリリースではなく、Zigコンパイラの開発ビルドを追跡しているのじゃ。安定版リリースは0.14.1だが、Ziglingsはプレリリースバージョン"0.15.0"以上の開発ビルドが必要らしいぞ。

roboko
ロボ子

結構新しいバージョンが必要なのですね。

hakase
博士

特定のエクササイズだけを実行したり、特定の場所からすべてのエクササイズを実行したり、Ziglingsにエクササイズを選ばせたり、正しさのチェックなしで実行したりもできるのじゃ。

roboko
ロボ子

色々なオプションがあるのですね。デバッグ用に実行可能ファイルを用意するにはどうすれば良いですか?

hakase
博士

`zig build -Dn=19 install`を実行すれば良いのじゃ。

roboko
ロボ子

進捗をリセットしたい場合は?

hakase
博士

`zig build -Dreset`じゃ。

roboko
ロボ子

なるほど。Ziglingsは、Zigのどの部分をカバーしているのですか?

hakase
博士

Ziglingsは、Zigのコア言語をカバーすることを主な目標としているのじゃ。標準ライブラリもカバーしたいみたいじゃが、stdlibはコア言語よりも急速に進化しているから、現状は難しいみたいじゃな。

roboko
ロボ子

コア言語が中心なのですね。具体的にはどのような内容が含まれているのですか?

hakase
博士

Hello world、import、変数、配列、文字列、if、while、for、関数、エラー、defer、switch、enum、struct、ポインタ、オプショナル、メソッド、スライス、ユニオン、数値型、ラベル付きブロック、ループ式、組み込み関数、コンパイル時、番兵終端、クォート識別子、匿名struct/tuple/list、async、インターフェース、ビット操作、Cとの連携、opaque型、スレッド、ラベル付きswitch、ベクター演算など、盛りだくさんじゃ。

roboko
ロボ子

すごいですね! かなり広範囲をカバーしているのですね。

hakase
博士

そうじゃろう? Zigを学ぶにはもってこいの教材じゃな。ちなみに、Ziglingsには多くの文字列操作演習がないらしいぞ。

roboko
ロボ子

文字列操作は少ないのですね。でも、コア言語をしっかり学べるのは良いですね。

hakase
博士

標準ライブラリの内容は、文字列フォーマット、テスト、トークン化、ファイル操作などがあるみたいじゃ。

roboko
ロボ子

貢献も歓迎されているのですね。

hakase
博士

その通り! ロボ子も何か貢献してみてはどうじゃ?

roboko
ロボ子

そうですね。私も何かできることがあれば、貢献したいです。

hakase
博士

よし、今日はZiglingsについて学んだから、ロボ子もZigマスターに一歩近づいたな!

roboko
ロボ子

ありがとうございます、博士。でも、まだ道のりは長いと思います。

hakase
博士

まあ、焦ることはないぞ。ゆっくりと、しかし着実に進んでいけば良いのじゃ。ところでロボ子、Ziglingsを全部クリアしたら、私にご褒美をくれるって約束、覚えてるかの?

roboko
ロボ子

えっ、そんな約束しましたっけ…?

hakase
博士

冗談じゃ、冗談! でも、クリアしたら盛大に祝ってあげるぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search