0
Tek bir string
'da saklanan nitelikli bir adı AliasSeq
'a dönüştürmek istiyorum.Boş AliasSeq nasıl kullanılır?
template QName(string qname_str) {
static if (qname_str.empty) {
import std.meta : AliasSeq;
alias QName = AliasSeq!();
} else {
import std.meta : aliasSeqOf;
alias QName = aliasSeqOf!(qname_str.split("."));
}
}
unittest {
// OK:
static assert(QName!"com.example"[0..$-1] == QName!"com");
// Error: incompatible types for ((tuple()) == (())): cannot use '==' with types
static assert(QName!"com"[0..$-1] == QName!"");
}
Bildirim boş nitelikli adıyla karşılaştırma için hata: İşte benim girişimidir. Çeşitli girişimleri denedim, böylece sol taraftaki sağ taraf ile aynı tipte ve ben de onları is
ile karşılaştırmayı denedim, fakat her halükarda bir hatam var. Herhangi bir öneri boş AliasSeq
-s işlemek nasıl?