#language #macro #utility #no-std #rust

no-std ternary-rs

A Rust library for emulating the ternary operator from C/C++ (among other languages)

1 stable release

1.0.0 Jan 15, 2021

#2993 in Rust patterns

Download history 26/week @ 2023-11-26 20/week @ 2023-12-03 24/week @ 2023-12-10 41/week @ 2023-12-17 7/week @ 2023-12-31 18/week @ 2024-01-07 15/week @ 2024-01-14 23/week @ 2024-01-21 20/week @ 2024-01-28 7/week @ 2024-02-04 12/week @ 2024-02-11 21/week @ 2024-02-18 52/week @ 2024-02-25 35/week @ 2024-03-03 41/week @ 2024-03-10

150 downloads per month

MIT/Apache

6KB

ternary-rs

A Rust library for emulating the ternary operator from C/C++ (among other languages)

Exposes two macros that do the same thing:

  • Choose between two macros ifelse! and ternary
ifelse!(condition, true value, false value)
ternary!(condition, true value, false value)

Usage

Add this to your Cargo.toml:

[dependencies]
ternary-rs = "1.0.0"

Example

let cond = true;
let result = if_else!(cond, 1, 0);
assert_eq!(1, result);
assert_ne!(0, result);

// If you find if_else!() unclear, you can use the ternary!() macro and be explicit instead!
let result = ternary!(cond, 1, 0);
assert_eq!(1, result);
assert_ne!(0, result);

License

ternary-rs is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

No runtime deps