serialize
目的
Serializetrait を標準化 し、保存 ・比較 ・通信 に使 う文字列表現 を共通 helper から得 られるようにします。Stringifyが利用者 向 け、Debugが開発者 向 けであるのに対 し、Serializeは機械 に渡 しても壊 れにくい表現 を担当 します。
注意
当面 はstrを媒体 にした最小 の trait として導入 します。形式 を複数 持 つSerialize<T, F>への一般化 は後続 の課題 です。
計算量
- 各 impl に
依存 します。strの再利用 は O(1)、数値 の 10進 変換 は O(d) です。
Serialize
目的
値 をstrに変換 し、保存 や比較 のために安定 した表現 を得 られるようにします。
注意
現在 の stdlib ではSerializeの返 り値 はstrに固定 します。人間 向 けの簡易 表示 はStringify、調査用 の詳細 表示 はDebugを使 います。
serialize
trait を
目的
呼 び出 し側 が具体的 impl を意識 せず、共通 の入口 から機械 向 け表現 を取得 できるようにします。
使用例
TEST
#entry main
#target std
#import "std/test" as *
#import "core/traits/serialize" as *
fn main <()*>i32> ():
assert_str_eq "42" serialize 42;
assert_str_eq "false" serialize false;
0実装
Serialize::serialize xをそのまま呼 びます。
注意
型推論 が曖昧 な場合 は周囲 の型注釈 で解決 します。
計算量
- impl に
依存 します。