LoginSignup
2
0

【Rust】順序付きマップを定数で使用したい場合の対応方法

Posted at

概要

Rustにおいて順序付きマップは、2024年の3月時点で標準の機能としては実装されていません。おそらくライブラリ等を使用して順序付きマップを実現することが多いと思いますが、では順序付きマップを定数で使用したい場合にどういうやり方があるのかというメモ書きです。

対応方針

そもそも、HashMapを定数で管理したい場合どうすれば良いかという点について、いくつかやり方が挙げられると思いますが、今回はRustの便利クレートで紹介されているphfというライブラリを使用したいと思います。このphfですが、Module phf::ordered_mapのドキュメントで紹介されている通り、順序付きマップの機能もあります。

前提

  • 使用したrustcのバージョンは1.76.0です。
  • 使用したphfのバージョンは0.11です。

実装サンプル

use phf::phf_ordered_map;

pub const TEST_ORDERED_MAP: phf::OrderedMap<&'static str, &'static str> = phf_ordered_map! {
    "key1" => "val1",
    "key2" => "val2",
    "key3" => "val3",
};

その他参考

RustでGlobal ConstなHashMapを使おうと思ったらはまった

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0