Kagari
キーワードを入力してドキュメントを検索します。

このリファレンスについて

『STD リファレンス』は Kagari の標準ライブラリ std のリファレンスです。ライブラリのすべての公開アイテムを、正確なシグネチャと意味とともに、モジュールごとに 1 ページずつ、Node.js の API ドキュメントの形式で記載します。

言語そのもの(構文、関数種別、シーン、フォーム、数値)は 言語リファレンス で説明しています。本リファレンスはその内容を前提とします。

ページの構成

モジュールのページはすべて同じ形をしています。

  1. タイトルはモジュールのパスです。例:`std::time`。
  2. 安定性 行(> **安定性:** 安定 — …)がモジュールを要約し、その安定性を示します(後述)。
  3. 導入の段落で、モジュールの目的とアイテムの関数種別を説明します。
  4. 省略可能な Overview 表が、ページ内のアイテムを一覧にします。
  5. アイテムごとに H2 節を 1 つ置き、モジュールのソースファイルでの宣言順に並べます。見出しにはアイテムの種類を書きます:Struct:、Enum:、Trait:、Type:、Constant:、Function:。
  6. メソッド、関連関数、バリアントのまとまりごとに、型の下に H3 節を 1 つ置きます。

各アイテムの節は、std が宣言しているとおりの宣言から始まり、続いて次を記載します。

  • 引数ごとに 1 項目:名前、型、意味
  • Returns: 戻り値の型と意味
  • バッジ行:Kind: … · Builtin: … · Profile: …(後述)
  • 意味、エッジケース、関連する診断、短い例

ガイド(Staging Recipes、System Recipes)では、アイテムの組み合わせ方を示します。付録には、std アイテムに適用されるコンパイラの規則と、各ランタイムプロファイルが対応する範囲を記載します。

安定性

安定性意味
安定(Stable)コンパイラとランタイムが実装済みです。シグネチャと意味は、その旨を明記した新しいツールチェーンのバージョンでのみ変わります。
暫定(Tentative)実装済みですが、設計は確定していません。名前、シグネチャ、意味が変わる可能性があります。
予定(Planned)設計済み、または要望段階で、実装されていません。ページは意図を説明するもので、まだ何も使えません。

ページの最初の行がモジュールの安定性を示します。モジュールと異なる安定性のアイテムには、個別に 安定性: の注記を付けます。

種別バッジ

アイテムのバッジ行は関数種別を示します。

バッジ意味
Kind: const fn純粋な関数です。どの種別のコードからも呼べます。物語の中では、定数引数の呼び出しは畳み込まれ、有限型の実行時引数の呼び出しは表化されます。
Kind: fn通常のコードです:ゲームシステム、UI、設定。const fn や物語からは呼べません。
Kind: pushdown fn物語のコードです。物語からのみ呼べ、一部はシーンからのみ呼べます。

種別間の呼び出し規則は言語の規則そのものです。関数種別 を参照してください。std のメソッドとビルトインにも、自作の関数とまったく同じように適用されます。

#[builtin] アイテム

#[builtin] が付いたアイテムは std 内に本体を持たず、コンパイラまたはエンジンが提供します。

  • #[builtin] の型は不透明です。見えるフィールドはなく、依存できるレイアウトもありません。メソッドと、その型を受け取る関数を通してのみ使います。Text、Screen、Narrative、アセット型がその例です。
  • #[builtin] の関数は、他の関数と同じく宣言どおりのシグネチャと種別を持ちます。
  • #[builtin] は std 専用です。ゲームはビルトインを宣言できません。

#[builtin] が付いていないものはすべて通常の Kagari コードで、スタジオが自分で書くこともできたものです。std::time やテキスト効果のコンストラクタがその例です。

バッジには Builtin: yes または Builtin: no と書きます。

シグネチャの表記

  • シグネチャは std のソースから写しています。ドキュメントコメントは短縮または省略しています。
  • メソッドの見出しは `Type::method(args)` とし、self、&self、&mut self は宣言どおりに示します。
  • ジェネリクスの引数は Rust と同じく <T>、<T: Eq>、<const N: usize> と書きます。
  • Int<lo, hi> は言語の範囲付き整数型です。Rust の整数(u8 … i128、usize、isize)と bool は言語の型で、std のアイテムではありません。
  • 位置と長さはピクセル、時間は Duration、割合は Decimal です。
  • 「評価エラー」とは、呼び出しが定数評価されるときはコンパイルエラー、それ以外では実行時エラーのことです。

プロファイルの注記

ランタイムプロファイルとは、ランタイムが提供する機能とアセット形式の集合です。あるプロファイルが対応していないアイテムには、バッジ行に Profile: not in native_v0 のように記載します。全体の対応表は ランタイムプロファイル にあります。

最終更新日 2026年10月29日