pub fn to_pascal_case(name: &str) -> StringExpand description
Convert a Scheme-style name to PascalCase for use as a Rust enum variant.
§Conversion rules
| Scheme character | Rust equivalent |
|---|---|
- or _ | capitalize next |
! | stripped |
? | P (predicate) |
= | Eq |
> | Gt |
< | Lt |
+ | Plus |
* | Star |
/ | Slash |
§Examples
use grift_util::to_pascal_case;
assert_eq!(to_pascal_case("map"), "Map");
assert_eq!(to_pascal_case("set-car!"), "SetCar");
assert_eq!(to_pascal_case("null?"), "NullP");
assert_eq!(to_pascal_case("char->integer"), "CharGtInteger");
assert_eq!(to_pascal_case("rat+"), "RatPlus");
assert_eq!(to_pascal_case("rat*"), "RatStar");
assert_eq!(to_pascal_case("rat/"), "RatSlash");