5个版本
0.0.5 | 2023年10月25日 |
---|---|
0.0.4 | 2023年8月12日 |
0.0.3 | 2023年7月25日 |
0.0.2 | 2023年3月11日 |
0.0.1 | 2022年10月23日 |
#130 在 嵌入式开发
1,150 每月下载
用于 5 个crate(直接使用4个)
21KB
276 代码行
关于 rhai-url
此crate为Rhai脚本语言提供对url::Url
的访问。
用法
Cargo.toml
[dependencies]
rhai-url = "0.0.4"
Rhai 脚本
// create a new Url
let url = Url("http://example.com/?q=query");
// get the absolute url as a string
print(url.href); // print 'http://example.com/?q=query'
print(url.to_string()); // print 'http://example.com/?q=query'
// get the url query string, without the leading ?
print(url.query); // print 'q=query'
// get the url fragment
print(url.fragment); // print ''
// hash is an alias of fragment
print(url.hash); // print ''
// clear the query
url.query_clear();
print(url.query); // print ''
// remove a query key
url.query_remove("q");
// query_remove with no arguments will clear the query string
url.query_remove();
// adds a query key value pair into the query string
url.query_append("q", "name");
您可以在测试中查看如何使用这些函数的示例。
Rust源代码
use rhai::{Engine, EvalAltResult};
use rhai::packages::Package;
use rhai_url::UrlPackage;
use url::Url;
fn main() -> Result<(), Box<EvalAltResult>> {
// Create Rhai scripting engine
let mut engine = Engine::new();
// Create url package and add the package into the engine
let package = UrlPackage::new();
package.register_into_engine(&mut engine);
// Print the url
let url = engine.eval::<Url>(r#"Url("http://test.dev/")"#)?;
println!("{}", url);
// Print the url string, equivalent of to_string()
let href = engine.eval::<String>(r#"Url("http://test.dev/").href"#)?;
println!("{}", href);
Ok(())
}
特性
特性 | 默认 | 描述 |
---|---|---|
array |
启用 | 启用对Rhai Array 的支持 |
metadata |
禁用 | 启用生成包文档的支持 |
依赖
~6.5MB
~145K SLoC