2014-12-11 12 views
5

Ben adları otomatik paylaşılan bileşene göre oluşturulur fonksiyonları bir ayarlayıcı/alıcı çifti oluşturmak istiyorum ama yeni bir isim üreten makro kuralların herhangi bir örnek bulamadık.Pas makroları yeni tanımlayıcılar oluşturabilir mi?

fn get_$iden() ve SomeEnum::XX_GET_$enum_iden gibi kod oluşturmak için bir yolu var mı? pas 1.22 itibarıyla

cevap

4

Resim.


her gece kullanmak kurar Eğer

...

Evet: concat_idents!(get_, $iden) ve yeni bir tanımlayıcı oluşturmak sağlayacak böyle.

Ama hayır: ayrıştırıcı, her yerde bu işe yaramaz yapmak çalışmışlardır olabilir yerlerden pek çok makro aramalara izin vermez. Bu gibi durumlarda, kendi başınasın. Örneğin, fn concat_idents!(get_, $iden)(…) { … }, çalışmaz.