1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

builtin: add byte.repeat() and rune.repeat() (#12007)

This commit is contained in:
Wertzui123
2021-09-30 08:32:20 +02:00
committed by GitHub
parent f9ceb12e22
commit e3d379a1eb
4 changed files with 56 additions and 0 deletions

View File

@@ -39,3 +39,17 @@ pub fn (ra []rune) string() string {
unsafe { sb.free() }
return res
}
// repeat returns a new string with `count` number of copies of the rune it was called on.
pub fn (c rune) repeat(count int) string {
if count < 0 {
panic('rune.repeat: count is negative: $count')
} else if count == 0 {
return ''
} else if count == 1 {
return c.str()
}
mut buffer := [5]byte{}
res := unsafe { utf32_to_str_no_malloc(u32(c), &buffer[0]) }
return res.repeat(count)
}