Utilizarea variabilelor pentru stocarea valorilor
Toate programele constau de obicei din mulți pași în care programul funcționează pe date. Ca parte a rulării tuturor acestor pași, este obișnuit să stocați rezultatul intermitent, datele, într-o referință denumită. Apoi puteți să citiți sau să manipulați datele mai târziu. Referințele denumite sunt denumite frecvent variabile .
Variabile, legați o valoare
Variabilele sunt denumite referințe legate la o valoare la care doriți să faceți referire în continuare la codul dvs. În F#, se consideră că este o valoare de legare. Prin urmare, ceea ce faceți este să atribuiți sau să legați , o valoare la o referință denumită, o variabilă. Pentru a lega o valoare, utilizați cuvântul cheie let, un nume pentru referință și îi atribuiți o valoare, cum ar fi în codul de mai jos:
let name = "Chris"
name este referința denumită și "Chris" valoarea sa de legătură.
După ce o valoare este atribuită unei variabile, aceasta nu poate fi modificată, este invariabilă. Următorul cod nu s-ar compila și produce o eroare care spune ceva de genul "eroare FS0027: Această valoare nu este mutable".
let name = "Chris"
name <- "Luis" // not allowed
Faceți dezactivarea sunetului
Puteți modifica variabilele, dar trebuie să semnalați că doriți să le faceți fără sonor. Utilizând cuvântul cheie mutable în definiția variabilei, puteți modifica o valoare fără o eroare de compilare, ca în următorul cod:
let mutable name = "Chris"
name <- "Luis" // this statement is now allowed
Tipuri variabile
Există o zonă de tipuri diferite în F#. Multe dintre tipuri trebuie să facă cu stocarea numerelor de dimensiuni diferite și cu sau fără zecimale. Alte tipuri sunt asociate cu șir text sau variabile booleene. Iată o listă de tipuri pe care este posibil să le întâlniți atunci când începeți să învățați F#.
| Tip | Descriere |
|---|---|
| Bool | valorile posibile sunt true sau false |
| Int | Valori de la -2.147.483.648 la 2.147.483.647. |
| șir | Text Unicode |
| flotant, dublu | Un tip de punct flotant pe 64 de biți. |
Tipul este dedus
Atunci când declarați o variabilă, puteți face acest lucru cu sau fără tip. Dacă nu furnizați un tip atunci când declarați o variabilă, compilatorul F# ghicește cel mai bine ce tip ar trebui să fie după valoarea pe care o atribuiți variabilei. Luați în considerare următoarele afirmații:
let age = 65 // int
let PI = 3.14 // float
let name = "my name" // string
Compilatorul deduce ce tipuri ar trebui să fie și este corect. De asemenea, puteți fi mai explicit în legătură cu ceea ce doriți să fie tipul. Pentru a atribui date, utilizați sintaxa variableName:<type>, cum ar fi în acest cod:
let sum:float = 0.0
Imprimarea pe ecran
Adesea doriți să puteți imprima pe ecran. Acesta poate fi din diverse motive, cum ar fi:
- ieșire aplicație: Aplicația efectuează un fel de calcul și doriți să vedeți rezultatul.
- Depanare: ca parte a depanării codului, poate fi necesar să generați rezultatul într-un anumit moment pentru a înțelege ce nu merge bine.
Există și alte motive pentru care doriți să ieșiți pe ecran, dar cele două scenarii anterioare sunt cele mai comune.
Cum imprimați pe ecran? În F#, există trei funcții diferite pe care le puteți utiliza. Sunt printf, printfn, și chiar Console.WriteLine. Deci care e diferența?
-
printf: se imprimă în liniestdout(fără caracter linie nouă). -
printfn: se imprimă înstdoutadaugă un caracter linie nouă. -
Console.WriteLine: Această funcție provine din spațiul de numeSystemși funcționează în toate limbile .NET.
Acum știi diferența, dar pe care ar trebui să o folosești? Ei bine, printf și printfn sunt considerate mai idiomatice și preferate în F#.
Formatare
Ca parte a imprimării pe ecran, se recomandă să combinați text și numere. Sau poate doriți ca rezultatul să fie formatat într-un anumit mod, cum ar fi utilizarea:
argumente poziționale: Pentru a formata, puteți utiliza o funcție .NET, cum ar fi
String.Format, care utilizează argumente poziționale, cum ar fiString.Format("My name is {0} and I live in {1}", "Chris", "UK").interpolarea șirului: o altă modalitate de a combina variabile și text este să utilizați ceva numit interpolare. Pentru a-l utiliza, trebuie să precedați șirul cu un semn
$și să indicați substituenții cu paranteze{}. Iată un exemplu de utilizare a interpolării:let name = "Luis" let company = "Microsoft" printfn $"Name: {name}, Company: {company}"De asemenea, puteți adăuga expresii între paranteze, astfel:
let firstNumber = 2000 let secondNumber = 21 printfn $"The year is: {firstNumber + secondNumber}"Notă
Nu există nicio verificare a tipului utilizând interpolarea, așa că poate părea simplă utilizarea. Asigurați-vă că combinați lucrurile corect.
Specificatorii: De asemenea, puteți utiliza specificatorii de formatare ca parte a ceea ce încercați să imprimați. Utilizarea specificatorilor este cea mai utilizată modalitate de a formata în F#. Iată un exemplu:
let name = "Chris" printf "Hi %s" name // prints: Hi ChrisAici puteți vedea cum se utilizează
%sde formatare pentru a amesteca primul șir cu variabilaname.Notă
Atunci când utilizați formatatoare cum ar fi %s sau %i, tipurile de verificări ale compilatorului. Dacă argumentul pozițional nu este de tipul pe care l-ați specificat, generează o eroare.
Specificatorii de formatare
Există mulți specificator de format. Iată câteva pe care este posibil să le întâlniți.
| Specificatorul | Descriere | Exemplu |
|---|---|---|
| %s | Utilizat pentru șiruri și conținut neescape | printf "Salut %s" nume |
| %d, %i | Formatat ca număr întreg zecimal, semnat dacă tipul întreg de bază este semnat | printf "Vârsta: %i" 65 |
| %b |
true booleană sau false |
printf "Setare activată: %b" true |
Există mai multe informații despre formatare. Dacă doriți să aflați despre toate capacitățile, consultați formatarea din documentul F#.