Rust
Rustで可変長引数をやってみる
Rustは可変長引数の関数を作ることができない。
しかし、ご存知println!やvec!などのマクロは可変長引数だ。
つまりマクロを使えばRustでも可変長引数が実現できるわけだ。
Rustのマクロはとても柔軟な記述ができ、もしかすると関数よりも多機能かもしれない。
ただその名の通りマクロなので、関数と違ってコードが展開されてしまう。
おまけにRustのマクロは(Cほどではないが)読みにくく、なんでもかんでもマクロで書いてしまうと後々困ることになるので最後の手段にしたほうがよさそうだ。
|