array.clone()
parent
32754e3b4c
commit
15a42f1f35
|
@ -208,6 +208,17 @@ pub fn (a array) reverse() array {
|
||||||
return arr
|
return arr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn (a array) clone() array {
|
||||||
|
arr := array {
|
||||||
|
len: a.len
|
||||||
|
cap: a.cap
|
||||||
|
element_size: a.element_size
|
||||||
|
data: malloc(a.cap * a.element_size)
|
||||||
|
}
|
||||||
|
C.memcpy(arr.data, a.data, a.cap * a.element_size)
|
||||||
|
return arr
|
||||||
|
}
|
||||||
|
|
||||||
//pub fn (a []int) free() {
|
//pub fn (a []int) free() {
|
||||||
pub fn (a array) free() {
|
pub fn (a array) free() {
|
||||||
//if a.is_slice {
|
//if a.is_slice {
|
||||||
|
|
|
@ -190,4 +190,12 @@ fn test_mut_slice() {
|
||||||
assert n[2] == 777
|
assert n[2] == 777
|
||||||
println(n)
|
println(n)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn test_clone() {
|
||||||
|
nums := [1, 2, 3, 4, 100]
|
||||||
|
nums2 := nums.clone()
|
||||||
|
assert nums2.len == 5
|
||||||
|
assert nums2.str() == '[1, 2, 3, 4, 100]'
|
||||||
|
assert nums.slice(1, 3).str() == '[2, 3]'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue