3 个稳定版本
使用旧的 Rust 2015
1.0.2 | 2018年4月30日 |
---|---|
1.0.1 | 2018年4月29日 |
1.0.0 | 2018年4月27日 |
#3 in #targeted
7KB
platform 包
此包提供了一种根据目标平台轻松内联选择输入参数的方法。可用于任何 Sized
类型。
这保证是一个零成本的抽象,因为所有调用都被内联了。
extern crate platform;
use platform::Platform;
fn main() {
println!("Hello from {}!",
"unknown"
.ios("ios")
.android("android")
.windows("windows")
.macos("macos")
.linux("linux")
.wasm32("wasm32")
.emscripten("emscripten")
);
}
lib.rs
:
此包提供了一种根据目标平台轻松内联选择输入参数的方法。可用于任何 Sized
类型。
这保证是一个零成本的抽象,因为所有调用都被内联了。
extern crate platform;
use platform::Platform;
fn main() {
println!("Hello from {}!",
"unknown"
.ios("ios")
.android("android")
.windows("windows")
.macos("macos")
.linux("linux")
.wasm32("wasm32")
.emscripten("emscripten")
);
// Alternatively, let's pretend the arguments are non-trivial to evaluate.
// We can also use this on function pointers so long as all the variants can
// coerce to the same function pointer type.
println!("Hello from {}!",
((|| String::from("unknown")) as fn() -> String)
.ios(|| String::from("ios"))
.android(|| String::from("android"))
.windows(|| String::from("windows"))
.macos(|| String::from("macos"))
.linux(|| String::from("linux"))
.wasm32(|| String::from("wasm32"))
.emscripten(|| String::from("emscripten"))
()
);
}