Deklarowanie funkcji
Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 49 z 75.
Metoda to sekwencja kodu, która ma nazwę. Celem metody jest wielokrotne ponowne użycie fragmentu kodu.
Na przykład przyjrzyj się temu kodowi:
println!("Welcome to Coddy");
println!("New session...");
println!("Welcome to Coddy");
println!("Another session...");
println!("Welcome to Coddy");Wielokrotnie używamy tego samego kodu println!("Welcome to Coddy"). Kolejny problem z tym kodem polega na tym, że gdybyśmy chcieli zmienić komunikat: Welcome to Coddy na coś innego, na przykład „Welcome aboard”, trzeba by zmienić 3 różne linie kodu. Aby rozwiązać ten problem, użyjemy metod.
Aby zadeklarować metodę, używamy następującej składni:
fn method_name(parameters) {
// kod
}W naszym przykładzie utworzymy metodę o nazwie greet, która będzie wyglądać tak:
fn greet() {
println!("Welcome to Coddy");
}Aby użyć/wywołać/wykonać metodę, piszemy greet();:
greet();
println!("New session...");
greet();
println!("Another session...");
greet();Da to taki sam wynik jak powyżej.
Uwaga: W języku Rust kompilator pozwala wywołać metodę przed jej zadeklarowaniem w pliku. Zaleca się jednak, aby definicję metody umieszczać przed jej wywołaniem/wykonaniem.
Wyzwanie
ŁatwyNapisz program, który pobiera jedno wejście: liczbę. Liczba wejściowa określa, ile razy należy wykonać poniższą metodę.
Utwórz metodę, która oblicza sumę wszystkich liczb od 1 do 1000 (włącznie) i ją wyświetla. Nazwij metodę, jak chcesz.
Uwaga! Zgodnie z zalecaną konwencją napisz metodę przed instrukcjami jej wywołania/wykonania w swoim kodzie.
Spróbuj swoich sił
use std::io;
// Deklaracja metody
fn sum_numbers() {
// Uzupełnij metodę
}
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let n: i32 = input.trim().parse().unwrap();
for _ in 0..n {
// Wywołaj metodę n razy
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloSkrócone operacje arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Wyświetlanie w konsoliOdczytywanie danych od użytkownikaPowtórka – do 120Powtórka – prawda czy fałsz5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka — prosta logikaOperatory logiczne, część 311Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneWiele wartości zwracanychPowtórka – funkcja SigmaPowtórka – funkcja walidująca14Iterowanie po tablicach
Przewodnik po zakresachUlepszona pętla forPożyczanie w pętliTypowe operacje na tablicach3Zmienne – część 2
Deklarowanie typuKonwencje nazewnictwaWnioskowanie o typiePodsumowanie – inicjalizacja zmiennychRzutowanie typów9Pętle
Pętla for dla sekwencjiPętla whileInstrukcja breakInstrukcja continuePętle zagnieżdżoneEtykiety pętliPętla nieskończonaPodsumowanie — dynamiczne dane wejściowe12Podstawy tablic
Deklarowanie tablicTablica jako parametrDostęp do elementówModyfikowanie tablicPodsumowanie — czytelny wydruk tablicy15Operacje na ciągach znaków
Metody ciągów znakówMakro format!Konwersja ciągów znakówPowtórka — formatowaniePoćwicz samodzielnie: Kompilator Rust online