私のコードのパフォーマンスに依存する部分はDで作業しています。このために、後で使用できるように、データをRegex
にマッピングする連想配列を作成したいと考えています。連想配列キーとしての正規表現?
これを実行しようとすると、エラーindex is not a type or expression
が返されます。この正規表現を配列キーとして使用するにはどうすればよいですか?
編集:コードの場合は、ここで私は私のクラスで定義しようとしているものです:
View[Regex] m_routes;
私が欲しい、私は以下のようなルートを追加できるようにすることを:
void add(string route, View view)
{
auto regex = regex(route.key, [ 'g', 'i' ]);
if (regex in m_routes)
throw new Exception(format(`Route with path, "%s", is already assigned!`, route));
m_routes[regex] = view;
}
これでしょう私は、この方法で示されている、それぞれを再構築することなく、経路に対して正規表現を確認することができます。
View check(string resource)
{
foreach (route; m_routes.byKeyValue())
{
auto match = matchAll(resource, route.key);
// If this regex is a match
// return the view
if (!match.empty)
{
return route.value;
}
}
return null;
}
どんな助けもありがとう、ありがとう!
あなたは問題を示すいくつかのサンプルコードを提供する場合あなたを助けるために容易になります。 –
@JonathanMDavisは私が達成しようとしているもののいくつかのコードを追加しました – Tinfoilboy