rhai/scripts/string.rhai

37 lines
1.1 KiB
Plaintext
Raw Normal View History

2020-03-16 07:50:12 +01:00
// This script tests string operations
print("hello");
2020-03-16 07:50:12 +01:00
print("this\nis \\ nice"); // escape sequences
print("0x40 hex is \x40"); // hex escape sequence
print("Unicode fun: \u2764"); // Unicode escape sequence
2020-03-16 07:50:12 +01:00
print("more fun: \U0001F603"); // Unicode escape sequence
print("foo" + " " + "bar"); // string building using strings
print("foo" < "bar"); // string comparison
print("foo" >= "bar"); // string comparison
print("the answer is " + 42); // string building using non-string types
let s = "\u2764 hello, world! \U0001F603"; // string variable
2020-06-27 15:19:53 +02:00
print("length=" + s.len); // should be 17
2020-03-16 07:50:12 +01:00
2020-06-27 15:19:53 +02:00
s[s.len-3] = '?'; // change the string
print("Question: " + s); // should print 'Question: hello, world?'
// Line continuation:
let s = "This is a long \
string constructed using \
line continuation";
print("One string: " + s);
// Multi-line literal string:
let s = `
\U0001F603 This is a multi-line
"string" with \t\x20\r\n
made using multi-line literal
string syntax.
`;
print(s);
print(">>> END <<<");