コンパイルしたいコードは次のとおりです。
macro defineSomething(amount:expr):stmt=
var amountInt = intVal(amount).int
# Boring staff
defineSomething(42);
それは完全に機能します。マクロ内に必要なものがすべて揃っているので、自分の方法でスタッフを操作できます。
しかし、それから、マジックナンバーをいくつかの const 設定から削除する方が良いと思います:
const MAGIC_AMOUNT:int = 42
# Whole lot of strings
defineSomething(MAGIC_AMOUNT)
このコードは失敗します。文字どおりマジックナンバーMAGIC_AMOUNT
と違って整数値ではないからです。42
では、nimのマクロ内で変数値を取得するにはどうすればよいですか?