在Ruby中,我可以这样做:
module Settings
module General
SomeSetting = "Some value"
end
end
puts Settings::General::SomeSetting;
# => "Some value"
如何在Rust中实现相同的目的?
我想要一些硬编码的值,并且我不想声明仅当一次创建该结构时就可以用来存储设置的结构。
我尝试过寻找,但是我找不到确定的东西。
是不是很简单?
settings.rs:
pub mod dungeon {
pub mod general {
pub mod room {
const MinSize: i32 = 6;
const MaxSize: i32 = 10;
const MaxNo: i32 = 30;
}
pub mod lighting {
const FovWalls: bool = true;
const TorchRadius: i32 = 10;
}
pub mod monster {
const MaxNo: i32 = 3;
}
}
}
这将允许类似
&settings::dungeon::general::room::MaxNo
答案 0 :(得分:1)
是否简单
是的。 如您自己的代码所示,您可以像使用Ruby模块一样使用Rust模块来添加命名空间。
您还可以将常量添加到结构,枚举或特征中:
struct Foo;
impl Foo {
const BAR: i32 = 42;
}
fn main() {
println!("{}", Foo::BAR);
}