#variables #values #access #scoped #env-var #statically #global

无 std 环境

设置作用域有限的值可以被静态访问

7 个稳定版本

1.1.4 2022年11月30日
1.1.3 2021年5月12日
1.1.2 2020年9月30日
1.1.1 2020年1月9日
1.0.0 2018年9月13日

#10配置

Download history 49201/week @ 2024-04-22 39113/week @ 2024-04-29 37884/week @ 2024-05-06 43692/week @ 2024-05-13 42368/week @ 2024-05-20 50842/week @ 2024-05-27 45009/week @ 2024-06-03 37944/week @ 2024-06-10 41456/week @ 2024-06-17 47561/week @ 2024-06-24 42163/week @ 2024-07-01 41473/week @ 2024-07-08 53529/week @ 2024-07-15 54389/week @ 2024-07-22 48185/week @ 2024-07-29 54087/week @ 2024-08-05

212,173 每月下载量
756 个 Crates (17 直接) 中使用

Apache-2.0

19KB
386

环境

.摘要 [来源,toml]

include::Cargo.toml[lines=2..5]

.描述

include::src/lib.rs[tag=description]

lib.rs:

安全的全局引用栈变量。

使用 environmental! 宏设置全局引用并给它一个名称和类型。使用其名称下的 using 函数作用域来命名引用并调用一个不接受参数但可以通过放置相似的 with 函数访问该引用的函数。

示例

#[macro_use] extern crate environmental;
// create a place for the global reference to exist.
environmental!(counter: u32);
fn stuff() {
  // do some stuff, accessing the named reference as desired.
  counter::with(|i| *i += 1);
}
fn main() {
  // declare a stack variable of the same type as our global declaration.
  let mut counter_value = 41u32;
  // call stuff, setting up our `counter` environment as a reference to our counter_value var.
  counter::using(&mut counter_value, stuff);
  println!("The answer is {:?}", counter_value); // will print 42!
  stuff();	// safe! doesn't do anything.
}

无运行时依赖

功能