0Pricing
Zig Academy · レッスン

サードパーティモジュールの追加

外部パッケージを取得してリンクします

「サードパーティモジュールの追加」は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.gz

build.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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. @importでファイルをインポートする
  2. 複数ファイルプロジェクトの構成
  3. build.zig.zonとパッケージマネージャー
  4. サードパーティモジュールの追加
← Zig Academyに戻る