Ich habe einige sich wiederholende CodeWie Makro für ähnliche passende Arme schreiben?
match *x {
A(ref a) => "special",
B(ref a) => "B foo",
C(ref a) => "C foo",
D(ref a) => "D foo",
// ...
}
ich ein Makro wie
macro_rules! generic_fmt {
($T:ident) => {
$T(ref a) => {"$T foo"},
}
}
möchte also, dass ich meine Anpassung an
vereinfachenmatch *x {
A(ref a) => "special",
generic_fmt!(B),
generic_fmt!(C),
generic_fmt!(D),
// ...
}
Was ist der beste Weg, das zu tun? Ich benutze rustc 1.19.0-Nacht.
Wie kann ich benutze 'type_name'? Es gibt mir nur die Art von "Enum", nicht den einzelnen Gegenstand? http://play.integer32.com/?gist=b015089c2a81fe44724eea5c4ce006bc&version=undefined – colinfang
Oh 'type_name' funktioniert nicht, wie ich für' Enum' ... Sie können versuchen https://github.com/mockersf/variant- Name, es hat Spaß gemacht zu schreiben –