Utilizarea variabilelor pentru stocarea valorilor

Finalizat

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

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 linie stdout (fără caracter linie nouă).
  • printfn: se imprimă în stdout adaugă un caracter linie nouă.
  • Console.WriteLine: Această funcție provine din spațiul de nume System ș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 fi String.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 Chris
    

    Aici puteți vedea cum se utilizează %s de formatare pentru a amesteca primul șir cu variabila name.

    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#.