Parametry i argumenty
Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 50 z 75.
Argument funkcji to wartość, którą przekazujesz do funkcji podczas jej wywoływania. Aby dodać argumenty do funkcji, zapisujemy je w nawiasach ():
fn function_name(arg1: data_type, arg2: data_type, ...) {
// kod
}Możemy dowolnie nazywać argumenty i podać ich tyle, ile potrzebujemy.
Aby wywołać funkcję i przekazać jej argumenty, piszemy:
function_name(value1, value2, value3, ...);Przekazanie funkcji, która oczekuje mniejszej liczby argumentów, zbyt wielu argumentów spowoduje awarię programu
Przykład użycia:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
for i in 15..34 {
is_even(i);
}
for i in 153..219 {
is_even(i);
}Mamy tu funkcję o nazwie is_even, która przyjmuje jeden argument o nazwie number i wypisuje, czy liczba jest parzysta, czy nieparzysta. Następnie wywołujemy funkcję dwa razy: pierwszy raz dla wszystkich liczb od 15 do 34, drugi raz dla wszystkich liczb od 153 do 219.
Wyzwanie
ŁatwyNapisz program, który pobiera dwie liczby wejściowe. Liczby wejściowe są argumentami funkcji.
Utwórz funkcję, która pobiera dwa argumenty, oblicza ich iloczyn i go wyświetla. Nazwij funkcję, jak chcesz.
Wywołaj funkcję, podając liczby wejściowe.
Uwaga! W swoim kodzie zapisz funkcję przed instrukcjami jej wywołania/wykonania.
Spróbuj swoich sił
use std::io;
// Deklaracja funkcji
fn main() {
let mut input_a = String::new();
let mut input_b = String::new();
io::stdin().read_line(&mut input_a).unwrap();
io::stdin().read_line(&mut input_b).unwrap();
let a: i32 = input_a.trim().parse().unwrap();
let b: i32 = input_b.trim().parse().unwrap();
// Wywołaj funkcję, przekazując a i b jako argumenty
}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