2014-12-11 19 views
5

我想創建一個setter/getter函數對,其中名稱是基於共享組件自動生成的,但我找不到任何生成新名稱的宏規則示例。Rust Rust能創建新的標識符嗎?

有沒有辦法生成類似fn get_$iden()SomeEnum::XX_GET_$enum_iden的代碼?

回答

4

不,不是Rust 1.22。


如果你可以使用每晚構建...

是:concat_idents!(get_, $iden)而且這樣將允許您創建一個新的標識。

但是否:解析器不允許在任何地方進行宏調用,因此許多您可能試圖執行此操作的位置都不起作用。在這種情況下,你可悲的是你自己。例如,fn concat_idents!(get_, $iden)(…) { … }將不起作用。