Merge branch 'v1.1-fixes'

This commit is contained in:
Stephen Chung
2021-11-05 23:26:00 +08:00
21 changed files with 144 additions and 43 deletions

View File

@@ -9,6 +9,8 @@ use std::{any::TypeId, mem};
use super::string_basic::{print_with_func, FUNC_TO_STRING};
def_package!(crate:MoreStringPackage:"Additional string utilities, including string building.", lib, {
lib.standard = true;
combine_with_exported_module!(lib, "string", string_functions);
});
@@ -45,19 +47,28 @@ mod string_functions {
s
}
#[rhai_fn(name = "append")]
#[rhai_fn(name = "+", name = "append")]
pub fn add_append_str(string1: ImmutableString, string2: ImmutableString) -> ImmutableString {
string1 + string2
}
#[rhai_fn(name = "append")]
#[rhai_fn(name = "+", name = "append")]
pub fn add_append_char(string: ImmutableString, character: char) -> ImmutableString {
string + character
}
#[rhai_fn(name = "append")]
#[rhai_fn(name = "+")]
pub fn add_prepend_char(character: char, string: ImmutableString) -> ImmutableString {
format!("{}{}", character, string).into()
}
#[rhai_fn(name = "+", name = "append")]
pub fn add_append_unit(string: ImmutableString, item: ()) -> ImmutableString {
let _item = item;
string
}
#[rhai_fn(name = "+")]
pub fn add_prepend_unit(_item: (), string: ImmutableString) -> ImmutableString {
string
}
#[rhai_fn(name = "len", get = "len")]
pub fn len(string: &str) -> INT {