Skip to content

Commit 81f157e

Browse files
committed
[vector] Fix Move contracts
1 parent 54ed003 commit 81f157e

File tree

1 file changed

+36
-56
lines changed
  • apps/nextra/pages/en/build/smart-contracts

1 file changed

+36
-56
lines changed

apps/nextra/pages/en/build/smart-contracts/vector.mdx

+36-56
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: "Vector"
44

55
# Vector
66

7-
The Vector in Move provides a flexible and dynamic array-like data structure that supports various operations such
7+
The Vector in Move provides a flexible and dynamic array-like data structure that supports various operations such
88
as indexing, adding, and removing elements. Vectors in Move are growable and support 0-based indexing.
99

1010
## Core Features of Vector
@@ -68,26 +68,26 @@ The following constants define various error codes used within the module:
6868
### Creating and Using a Vector
6969

7070
```move filename="vector.move"
71-
module example::vector_usage {
72-
use std::vector::{Self, vector};
71+
module 0x42::vector_usage {
72+
use std::vector;
7373
7474
public entry fun main() {
75-
let mut v = vector::empty<u64>();
75+
let v = vector::empty<u64>();
7676
vector::push_back(&mut v, 10);
7777
vector::push_back(&mut v, 20);
78-
78+
7979
let length = vector::length(&v);
8080
assert!(length == 2, 0);
81-
81+
8282
let first_elem = vector::borrow(&v, 0);
8383
assert!(*first_elem == 10, 0);
84-
84+
8585
let second_elem = vector::borrow(&v, 1);
8686
assert!(*second_elem == 20, 0);
87-
87+
8888
let last_elem = vector::pop_back(&mut v);
8989
assert!(last_elem == 20, 0);
90-
90+
9191
vector::destroy_empty(v);
9292
}
9393
}
@@ -96,33 +96,33 @@ module example::vector_usage {
9696
### Appending Vectors
9797

9898
```move filename="vector.move"
99-
module example::vector_usage {
100-
use std::vector::{Self, vector};
99+
module 0x42::vector_usage {
100+
use std::vector;
101101
102102
public fun append_vectors() {
103-
let mut v1 = vector::empty<u64>();
104-
let mut v2 = vector::empty<u64>();
105-
103+
let v1 = vector::empty<u64>();
104+
let v2 = vector::empty<u64>();
105+
106106
vector::push_back(&mut v1, 1);
107107
vector::push_back(&mut v1, 2);
108-
108+
109109
vector::push_back(&mut v2, 3);
110110
vector::push_back(&mut v2, 4);
111-
111+
112112
vector::append(&mut v1, v2);
113-
113+
114114
let length = vector::length(&v1);
115115
assert!(length == 4, 0);
116-
116+
117117
let first_elem = vector::borrow(&v1, 0);
118118
assert!(*first_elem == 1, 0);
119-
119+
120120
let second_elem = vector::borrow(&v1, 1);
121121
assert!(*second_elem == 2, 0);
122-
122+
123123
let third_elem = vector::borrow(&v1, 2);
124124
assert!(*third_elem == 3, 0);
125-
125+
126126
let fourth_elem = vector::borrow(&v1, 3);
127127
assert!(*fourth_elem == 4, 0);
128128
}
@@ -132,69 +132,49 @@ module example::vector_usage {
132132
### Removing Elements
133133

134134
```move filename="vector.move"
135-
module example::vector_usage {
136-
use std::vector::{Self, vector};
135+
module 0x42::vector_usage {
136+
use std::vector;
137137
138138
public fun remove_elements() {
139-
let mut v = vector::empty<u64>();
140-
139+
let v = vector::empty<u64>();
140+
141141
vector::push_back(&mut v, 1);
142142
vector::push_back(&mut v, 2);
143143
vector::push_back(&mut v, 3);
144-
144+
145145
let removed_elem = vector::remove(&mut v, 1);
146146
assert!(removed_elem == 2, 0);
147-
147+
148148
let length = vector::length(&v);
149149
assert!(length == 2, 0);
150-
150+
151151
let first_elem = vector::borrow(&v, 0);
152152
assert!(*first_elem == 1, 0);
153-
153+
154154
let second_elem = vector::borrow(&v, 1);
155155
assert!(*second_elem == 3, 0);
156156
}
157157
}
158158
```
159159

160-
### Clearing the Vector
161-
162-
```move filename="vector.move"
163-
module example::vector_usage {
164-
use std::vector::{Self, vector};
165-
166-
public fun clear_vector() {
167-
let mut v = vector::empty<u64>();
168-
169-
vector::push_back(&mut v, 1);
170-
vector::push_back(&mut v, 2);
171-
vector::push_back(&mut v, 3);
172-
173-
vector::clear(&mut v);
174-
let length = vector::length(&v);
175-
assert!(length == 0, 0);
176-
}
177-
}
178-
```
179-
180160
### Swapping Elements
181161

182162
```move filename="vector.move"
183-
module example::vector_usage {
184-
use std::vector::{Self, vector};
163+
module 0x42::vector_usage {
164+
use std::vector;
185165
186166
public fun swap_elements() {
187-
let mut v = vector::empty<u64>();
188-
167+
let v = vector::empty<u64>();
168+
189169
vector::push_back(&mut v, 1);
190170
vector::push_back(&mut v, 2);
191171
vector::push_back(&mut v, 3);
192-
172+
193173
vector::swap(&mut v, 0, 2);
194-
174+
195175
let first_elem = vector::borrow(&v, 0);
196176
assert!(*first_elem == 3, 0);
197-
177+
198178
let third_elem = vector::borrow(&v, 2);
199179
assert!(*third_elem == 1, 0);
200180
}

0 commit comments

Comments
 (0)