Sužinokite, kaip suformatuoti eilutės duomenis, kad būtų pateikta tobula.
Eilučių formatavimas yra esminis programavimo aspektas, nes jis leidžia manipuliuoti ir rodyti duomenis skaitomu, struktūrizuotu būdu. Duomenų pateikimą galite valdyti formatuodami eilutes, kad naudotojas veiktų geriau.
Rust yra galingas ir lankstus eilučių formatavimo mechanizmas, suteikiantis galimybę sukurti aiškią ir glaustą išvestį, įskaitant skaitines, datos, laiko ir klaidų valdymo funkcijas.
Pagrindinis stygų formatavimas rūdyje
Rust suteikia funkcionalumą formatuoti eilutes su kitais Rūdžių įmontuoti tipai.
Galite naudoti formatu! makrokomandą pagrindiniam eilučių formatavimui „Rust“. The formatu! makrokomandos yra glaustas ir efektyvus būdas sukurti suformatuotas eilutes su vietos rezervavimo ženklais, esančiais riestiniuose skliaustuose.
fnpagrindinis() {
leisti vardas = "Alisa";
leisti amžius = 25;
leisti žinutė = formatu!("Mano vardas yra {} ir man {} metai.", vardas, amžius);
println!("{}", žinutė);
}
The vardas
kintamasis turi eilutę, o amžiaus kintamasis turi sveikąjį skaičių. The žinutę kintamasis turi suformatuotą eilutę, kuri naudoja formatu! pakeisti vietos rezervavimo ženklus atitinkamomis reikšmėmis ir gauti formato eilutę, kurioje yra vardas ir amžiaus.The formatu! makrokomandos palaiko įvairius formato parametrus, kurie leidžia valdyti išvestį.
Štai kaip nurodyti slankiojo kablelio skaičių po kablelio skaičių, apibrėžti laukų plotį ir sulygiuoti išvestį.
fnpagrindinis() {
leisti pi = 3.14159;
leisti formatted_pi = formatu!("Pi reikšmė yra apytiksliai {:.2}", pi);
println!("{}", formatuotas_pi); // spausdina 3.14
}
The pi kintamasis turi slankiojo kablelio reikšmę; su formato specifikatoriumi :.2, galite nurodyti formatu! rodyti makrokomandą pi su dviem skaitmenimis po kablelio.
The formatu! makrokomandos yra vienas iš daugelio eilučių formatavimo metodų naudojant Rust. Atsižvelgdami į savo poreikius, apsvarstykite galimybę naudoti println! arba parašyk! suformatuotos išvesties į konsolę ar kitus išvesties srautus makrokomandą.
Skaitinių reikšmių formatavimas
Rust taip pat suteikia įvairių skaitinių reikšmių formatavimo funkcionalumą – nuo sveikųjų skaičių iki slankiųjų ir kitų skaičių tipų.
Paprastai formato specifikacijos yra eilutės formatavimo „Rust“ pagrindas, todėl jums reikės tinkamo specifikatoriaus, atsižvelgiant į skaitinę reikšmę, kurią norite formatuoti.
Štai keletas formatų specifikacijų, kurias Rust pateikia skaitinėms reikšmėms:
Skaitmeninis tipas |
Formatuotojas |
Funkcionalumas |
---|---|---|
Sveikieji skaičiai |
%d arba %i |
Formatuoja sveikuosius skaičius, įskaitant teigiamas ir neigiamas reikšmes. |
Slankaus kablelio skaičiai |
%f |
Tinka slankiojo kablelio skaičiams formatuoti, įskaitant integraliąsias ir trupmenines dalis. |
Eksponentinis žymėjimas |
%e arba %E |
Formatuoja skaičius moksliniu žymėjimu (eksponentine forma). |
Aštuntainis vaizdas |
%o |
Formatuoja sveikuosius skaičius aštuoneto pavidalu (8 bazė). |
Šešioliktainis vaizdavimas |
%x arba %X |
Formatuoja sveikuosius skaičius šešioliktaine forma (16 bazė). |
Be to, galite nurodyti skaitinių reikšmių užpildymą ir lygiavimą. Užpildymas prie suformatuotos skaitinės reikšmės prideda tarpų arba nulių, kad būtų pasiektas norimas plotis. Užpildymas padeda suderinti vertes pateikiant lentelės pavidalu arba kitais vizualiai organizuotais maketais. Prieš pločio reikšmę galite nurodyti užpildymo simbolį – tarpą arba nulį.
Jei norite lygiuoti reikšmę kairėje, naudokite - vėliava. Norėdami sulygiuoti vertę dešinėje, praleiskite vėliavėlę arba naudokite žymą „0“, kad būtų užpildyta nulis.
fnpagrindinis() {
skaičius = 42
formatuotas_skaičius = "%10d" % skaičius
spausdinti (suformatuotas_numeris)
}
Vertė sulygiuota dešinėje 10 simbolių pločio, todėl prieš skaičių yra aštuoni tarpai.
Pasirinktinis stygų formatavimas rūdyje
Pasirinktinis eilutės formatavimas yra svarbus sudėtingesnėms operacijoms. Galite sukurti pasirinktinius formatavimo įgyvendinimus savo tipams naudodami įmontuotą Rust std:: fmt modulis.
The std:: fmt modulis suteikia išvesties formatavimo ypatybes su daugybe galimybių tinkinti duomenų išvaizdą eilučių konvertavimo proceso metu. The std:: fmt modulis suteikia a Ekranas ir Derinimas bruožas, kuris yra patogus eilučių formatavimo operacijoms.
Ekrano bruožas
The Ekranas bruožas padeda sukurti žmogui suprantamą išvestį, nustatant, kaip objektas turi būti suformatuotas naudojant {} rezervuota vieta eilutėje. Galite įgyvendinti Ekranas tavo bruožas pasirinktiniai tipai apibrėžiant metodą, vadinamą fmt kad argumentas yra formatuotojas.
Formatuotojas pateikia įvairius formato išvesties valdymo būdus, pvz., rašyti_str ir write_fmt metodus.
naudoti std:: fmt;
// Apibrėžkite struktūrą pavadinimu „Taškas“.
struktūraTaškas {
x: i32,
y: i32,
}// Įdiekite „Taško“ bruožą „Rodyti“.
impl fmt:: Ekranas dėl Taškas {
fnfmt(&savarankiškai, f: &mut fmt:: Formatuotojas<'_>>) -> fmt::Rezultatas {
// Suformatuokite „Taško“ struktūrą kaip „(x, y)“
parašyk!(f, "({}, {})", savarankiškai.x, savarankiškai.y)
}
}fnpagrindinis() {
// Sukurkite naują „Taško“ egzempliorių
leisti taškas = taškas { x: 5, y: 10 };
// Išspausdinkite „Taško“ struktūrą naudodami „Display“ formatavimą
println!(„Esmė tokia: {}“, taškas);
}
The Taškas struktūra įgyvendina Ekranas bruožas. Viduje fmt metodas, parašyk! makrokomandų formatus ir įrašykite norimą išvestį į formatuotoją naudodami {} vietos rezervuaras.
Derinimo bruožas
The Derinimas bruožas yra panašus į Ekranas bruožas, išskyrus tai, kad pagrindinis dėmesys skiriamas derinimui tinkamos išvesties kūrimui klaidų tvarkymas tikslai. The Derinimas bruožas daugiausia naudojamas su {:?} vietos rezervuaras.
Įgyvendinant Derinimas jūsų pasirinktinių tipų bruožas yra paprastas. The Derinimas bruožas suteikia numatytąjį įgyvendinimą, pagrįstą Ekranas bruožas. Tačiau galite nepaisyti numatytosios elgsenos, kad pateiktumėte specializuotą derinimo vaizdą.
naudoti std:: fmt;
// Apibrėžkite struktūrą pavadinimu „Asmuo“.
#[išvesti (derinti)]
struktūraAsmuo {
vardas: Styga,
amžius: u32,
}// Įdiekite „Asmens“ bruožą „Rodyti“.
impl fmt:: Ekranas dėl Asmuo {
fnfmt(&savarankiškai, f: &mut fmt:: Formatuotojas) -> fmt::Rezultatas {
// Suformatuokite „Asmens“ struktūrą kaip žmogaus skaitomą eilutę
parašyk!(f, "Vardas: {}, amžius: {}", savarankiškai.vardas, savarankiškai.amžius)
}
}fnpagrindinis() {
// Sukurkite naują „Asmens“ egzempliorių
leisti asmuo = asmuo {
vardas: Styga::nuo("Alisa"),
amžius: 30,
};// Išspausdinkite „Asmens“ struktūrą naudodami „Display“ formatavimą
println!("Ekranas: {}", asmuo);
// Išspausdinkite „Asmens“ struktūrą naudodami „Debug“ formatavimą
println!("Debug: {:?}", asmuo);
}
Programa išveda Derinimas bruožas už Asmuo statyti su #[išvesti (derinti)]. Tai automatiškai sugeneruoja įgyvendinimą pagal struktūros laukus.
„println“ makrokomanda išspausdina derinimo vaizdą su Derinimas formatavimo vietos rezervuaras, skirtas formatuoti išvestį naudojant Derinimas įgyvendinimas.
Rust turi daug funkcijų turinčią tipo sistemą
„Rust“ turtingo tipo sistema vaidina lemiamą vaidmenį formuojant eilutes. Naudodami Rust statinį spausdinimą ir galingas formatavimo bibliotekas, galite rašyti saugų ir efektyvų kodą, tvarkydami eilutes ir formatuodami.
Tipo sistema užtikrina kompiliavimo laiko saugumą ir apsaugo nuo įprastų klaidų, nuo tipo neatitikimų iki formato specifikacijų problemų. Derindami Rust tipo sistemą ir plačias formatavimo galimybes, galite užtikrintai spręskite eilučių formatavimo iššūkius ir naudokitės kalbos našumu bei saugumu garantijos.