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)
 | 
			
		||||
	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('a'.ustring())) == 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn test_repeat() {
 | 
			
		||||
	s := 'V! '
 | 
			
		||||
	assert s.repeat(5) == 'V! V! V! V! V! '
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue