1 个不稳定版本
使用旧的Rust 2015
0.1.1 | 2016年8月11日 |
---|---|
0.1.0 |
|
#87 在 #posix
69 每月下载量
15KB
190 行
varsun:Rust的变量替换函数
varsun是什么 - 关于varsun -
想要Go语言中的os.ExpandEnv
的类似功能,但在标准库中没有找到。因此,我尝试创建一个具有所需功能的库,结果就是现在的varsun
。
功能 - Features -
- 可以找到并替换
$foo
或${bar}
- 也支持
%foo%
。 - 使用varsun底下的函数,Windows下自动识别
%foo%
,其他情况下识别%foo
。 - 还包含了环境变量展开功能。
- 可以作为使用参考。
待办事项 - TODO -
- 高效的字符串搜索
- 逐字查找确实效率不高
- 想使用宏
- 基准测试
cargo bench
无法运行(´・ω・`)
使用方法 - Usage -
extern crate varsun;
// on Linux system.
let homedir = varsun::substitute("$HOME", |name: &str| -> Option<String> {
match ::std::env::var(name) {
Ok(val) => Some(val),
Err(_) => NOne,
}
});
// on Windows.
let homedir = varsun::substitute("%USERPROFILE%", |name: &str| -> Option<String> {
match ::std::env::var(name) {
Ok(val) => Some(val),
Err(_) => None,
}
});
始终使用POSIX风格($HOGE
) - Use POSIX style always -
extern crate varsun;
// on Linux.
let homedir = varsun::posix::substitute("${HOME}", |name: &str| -> Option<String> {
match ::std::env::var(name) {
Ok(val) => Some(val),
Err(_) => None,
}
});
// on Windows.
let homedir = varsun::posix::substitute("${USERPROFILE}", |name: &str| -> Option<String> {
match ::std::env::var(name) {
Ok(val) => Some(val),
Err(_) => None,
}
});
始终使用Windows风格(%HOGE%
) - Use Windows style always -
extern crate varsun;
// on Linux.
let homedir = varsun::windows::substitute("%HOME%", |name: &str| -> Option<String> {
match ::std::env::var(name) {
Ok(val) => Some(val),
Err(_) => None,
}
});
// on Windows.
let homedir = varsun::windows::substitute("%USERPROFILE%", |name: &str| -> Option<String> {
match ::std::env::var(name) {
Ok(val) => Some(val),
Err(_) => None,
}
});
作者 - Author -
TANAKA Kenichi 即 chikuchikugonzalez (ちくちく('ω')ごんざれす)