我正在尝试制作一个粘贴在样板代码中的宏,然后我想使用它粘贴的变量。Rust 的宏观卫生正在防止这种情况发生;我该如何关闭它?
我知道有一些方法可以解决它,通过将所有变量传递给宏,但这会使宏无用......我发现了一个名为 unhygienic 的箱子,它说它就是这样做的,但我无法得到它工作。
这就是它应该如何工作的方式。这是您可以在 Java 或 JavaScript 中使用处理(绘图/图形框架)的方式(这将显示一辆移动的汽车(在一个Car
类中定义)和一个矩形:
// You need to add a library or use the pde to be able to make this work though
let car;
setup() {
createCanvas(500, 100);
frameRate(60);
car = new Car();
}
draw() {
car.move();
car.show();
// this draws a rectangle at a certain place
rect(100, 200, 200, 100)
}
setup
是你在主循环之前所做的draw
一切,也是你在循环内所做的一切。这就是我希望它在 Rust 中的样子(绝对不需要,只是为了美观):
//does all the boilerplate opengl setup.
setup!{
// setting my variables and settings
}
// // adds a loop around the code in it and keeps up the framerate etc
draw!{
// do my updating and drawing commands
}