サードパーティモジュールの追加
外部パッケージを取得してリンクします
「サードパーティモジュールの追加」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。
マニフェストからコードへ
build.zig.zonに記載した依存関係はダウンロードされますが、まだ利用できる状態ではありません。コードからアクセスするにはbuild.zigに接続する必要があります。🔌
ステップ1: zig fetch
まずパッケージを追加します。--save付きでzig fetchを実行すると、パッケージをダウンロードし、urlとhashをマニフェストに自動記録します。
zig fetch --save https://example.com/mylib-1.0.0.tar.gzbuild.zigで検索する
build.zigで、マニフェストに記載した名前を指定してb.dependencyを呼び出します。取得したパッケージへのハンドルが返されます。
const dep = b.dependency("mylib", .{});モジュールを取得する
そのハンドルから、パッケージが公開している名前付きモジュールを取得します。要求するモジュール名は作成者がドキュメントに記載しています。
const mylib = dep.module("mylib");ビルドに接続する
addImportでモジュールを実行可能ファイルに追加してインポート可能にし、コード内で使う名前を選びます。
exe.root_module.addImport("mylib", mylib);@importする
接続すると、その名前はstdのように使えます。ソース内の任意の場所で、その文字列を指定した@importを使ってライブラリを取り込みます。
const mylib = @import("mylib");ライブラリを呼び出す
インポート結果をconstに束縛すると、自分で作成した他のモジュールと同じように、そのpub関数や型へアクセスできます。
const result = mylib.doThing(42);ビルドオプションを渡す
b.dependencyの2番目の引数でtargetやoptimizeなどのオプションを転送できるため、依存関係も自分と同じ設定でビルドされます。
const dep = b.dependency("mylib", .{
.target = target,
});Cライブラリもリンクする
パッケージによってはモジュールだけでなく静的ライブラリも提供します。その場合は、アーティファクトに対してlinkLibraryできます。
exe.linkLibrary(dep.artifact("mylib"));ビルドして実行する
最後に zig build を実行します。Zig は不足しているものを取得し、依存関係をコンパイルして、1つのコマンドでプログラムにリンクします。
zig build run再取得による更新
新しいバージョンに移行するには、新しい url を指定して zig fetch をもう一度実行します。ハッシュが更新されるため、次回のビルドで更新されたコードが取得されます。
zig fetch --save https://example.com/mylib-1.1.0.tar.gzクイックチェック
依存関係のモジュールをインポート可能にする build.zig の呼び出しを思い出してください。
まとめ
依存関係を最初から最後まで接続しました。zig fetch、続いて build.zig の b.dependency、module、addImport、最後にコード内の @import です。🎯
よくある質問
「サードパーティモジュールの追加」レッスンは無料ですか?
はい。「サードパーティモジュールの追加」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。
「サードパーティモジュールの追加」で何を学びますか?
外部パッケージを取得してリンクします ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Zig Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「サードパーティモジュールの追加」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このZig Academyレッスンでコードを書いて実行できますか?
はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- @importでファイルをインポートする
- 複数ファイルプロジェクトの構成
- build.zig.zonとパッケージマネージャー
- サードパーティモジュールの追加