NEPLg2 Standard Library - serialize - serialize
Web Playground
Web Playground

serialize

機械きかいけの安定あんてい文字列表現もじれつひょうげんあたえる trait ぐん

目的もくてき

  • Serialize trait を標準化ひょうじゅんかし、保存ほぞん比較ひかく通信つうしん使つか文字列表現もじれつひょうげん共通きょうつう 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 に依存いそんします。