-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: syntax str[range]
support like rust string indexing by range
#841
Comments
Well, there is The actual implementation may be quite involved, since indexer for strings cannot be overridden. It is built-in. Internally it uses mutable references to do its magic. For example, if we implement this correctly for strings, you can do this: let s = "abcdefg";
s[1..3] = "xyz"; // you can even modify a sub-range inside a string!
print(s); // prints `axyzdefg` When Rhai was first developed, ranges were not in, so this feature was left uncoded. It should be similar to how indexing into a string to get at a single character would work: let s = "abcdefg";
s[1] = 'x';
print(s); // prints `axcdefg` |
You may look into the |
Now we support range indexing on strings, including ref/mut impls. For example, you can use range indexing intead of sub_of_string() method like bellow: ```rust let s1 = "abcde"; let s2 = s1[1..4]; // "bcd" s1[1..4] = "f"; // s1: "afe", s2: "bcd" ``` Close rhaiscript#841
May you have time to review the pr: #845 ? |
Will do that tomorrow |
There are a few odds and ends that you missed, which I'll fix and update with a new drop. |
Expect:
Now it reports:
Would this feature could be supported? Maybe I can contribute if you don't mind to add this, and give me some help to start.
The text was updated successfully, but these errors were encountered: