From ff25573224400673d08b31e576d5a0d87751dbe1 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 30 Aug 2021 16:39:16 +0200 Subject: Lower- and uppercase string conversion functions --- src/library/mod.rs | 2 ++ src/library/utility.rs | 10 ++++++++++ 2 files changed, 12 insertions(+) (limited to 'src') diff --git a/src/library/mod.rs b/src/library/mod.rs index a549aa72..d02c9608 100644 --- a/src/library/mod.rs +++ b/src/library/mod.rs @@ -63,6 +63,8 @@ pub fn new() -> Scope { std.def_func("rgb", rgb); std.def_func("min", min); std.def_func("max", max); + std.def_func("lower", lower); + std.def_func("upper", upper); // Colors. std.def_const("white", RgbaColor::WHITE); diff --git a/src/library/utility.rs b/src/library/utility.rs index 84f1d7ab..b26ed154 100644 --- a/src/library/utility.rs +++ b/src/library/utility.rs @@ -75,3 +75,13 @@ fn minmax(args: &mut Arguments, goal: Ordering) -> TypResult { } Ok(extremum) } + +/// `lower`: Convert a string to lowercase. +pub fn lower(_: &mut EvalContext, args: &mut Arguments) -> TypResult { + Ok(args.expect::("string")?.to_lowercase().into()) +} + +/// `upper`: Convert a string to uppercase. +pub fn upper(_: &mut EvalContext, args: &mut Arguments) -> TypResult { + Ok(args.expect::("string")?.to_uppercase().into()) +} -- cgit v1.2.3