string: add repeat() method
parent
9834ccfcd9
commit
fb4f14ba76
|
@ -1009,3 +1009,17 @@ pub fn (s string) bytes() []byte {
|
||||||
C.memcpy(buf.data, s.str, s.len)
|
C.memcpy(buf.data, s.str, s.len)
|
||||||
return buf
|
return buf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns a new string with a specified number of copies of the string it was called on.
|
||||||
|
pub fn (s string) repeat(count int) string {
|
||||||
|
if count <= 1 {
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
ret := malloc(s.len * count + count)
|
||||||
|
C.strcpy(ret, s.str)
|
||||||
|
for count > 1 {
|
||||||
|
C.strcat(ret, s.str)
|
||||||
|
count--
|
||||||
|
}
|
||||||
|
return string(ret)
|
||||||
|
}
|
||||||
|
|
|
@ -459,3 +459,8 @@ fn test_ustring_count() {
|
||||||
assert (a.count('ﷰ'.ustring())) == 2
|
assert (a.count('ﷰ'.ustring())) == 2
|
||||||
assert (a.count('a'.ustring())) == 0
|
assert (a.count('a'.ustring())) == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn test_repeat() {
|
||||||
|
s := 'V! '
|
||||||
|
assert s.repeat(5) == 'V! V! V! V! V! '
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue