/
githubmirror
/
sway
Обзор
Документация
Войти
/
githubmirror
/
sway
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/ref_mut_params/src/main.sw
61 строка
1 KB
Mohammad Fawaz
Prelude docs and updating some examples (#2783)
16 сен 2022, 14:54
Не верифицирован
16 сен 2022, 14:54
c83b70e
Код
Авторство
О чём код?
script; enum Color { Red: (), Blue: (), } // ANCHOR: increment fn increment(ref mut num: u32) { let prev = num; num = prev + 1u32; } // ANCHOR_END: increment // ANCHOR: tuple_and_enum fn swap_tuple(ref mut pair: (u64, u64)) { let temp = pair.0; pair.0 = pair.1; pair.1 = temp; } fn update_color(ref mut color: Color, new_color: Color) { color = new_color; } // ANCHOR_END: tuple_and_enum // ANCHOR: move_right struct Coordinates { x: u64, y: u64, } impl Coordinates { fn move_right(ref mut self, distance: u64) { self.x += distance; } } // ANCHOR_END: move_right fn main() { // ANCHOR: call_increment let mut num: u32 = 0; increment(num); assert(num == 1u32); // The function `increment()` modifies `num` // ANCHOR_END: call_increment // ANCHOR: call_tuple_and_enum let mut tuple = (42, 24); swap_tuple(tuple); assert(tuple.0 == 24); // The function `swap_tuple()` modifies `tuple.0` assert(tuple.1 == 42); // The function `swap_tuple()` modifies `tuple.1` let mut color = Color::Red; update_color(color, Color::Blue); assert(match color { Color::Blue => true, _ => false, }); // The function `update_color()` modifies the color to Blue // ANCHOR_END: call_tuple_and_enum // ANCHOR: call_move_right let mut point = Coordinates { x: 1, y: 1 }; point.move_right(5); assert(point.x == 6); assert(point.y == 1); // ANCHOR_END: call_move_right }