From d0ed2e384a3b90394ca0f160e21a4948a1dbccb0 Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Tue, 26 Apr 2011 17:38:14 +0200 Subject: Add _str.slice to std lib --- src/lib/_str.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/_str.rs b/src/lib/_str.rs index 3922acb6..41a86cf3 100644 --- a/src/lib/_str.rs +++ b/src/lib/_str.rs @@ -391,10 +391,14 @@ fn ends_with(str haystack, str needle) -> bool { } fn substr(str s, uint begin, uint len) -> str { + ret slice(s, begin, begin + len); +} + +fn slice(str s, uint begin, uint end) -> str { let str accum = ""; let uint i = begin; - while (i < begin+len) { - accum += unsafe_from_byte(s.(i)); + while (i < end) { + push_byte(accum, s.(i)); i += 1u; } ret accum; -- cgit v1.2.3