Tekst, Integer, og String typer i Rails

I Ruby on Rails rammeverket, basert på programmeringsspråket Ruby, et program lagrer hver bit av data som en bestemt type. Typer inkluderer tekst, streng, heltall, float og tidsstempel, blant andre. Avhengig av type, kan du utføre ulike operasjoner og lagre ulike verdier. Kjenne forskjeller og begrensninger av hver datatype kan hjelpe deg å velge den beste for hver bit av data eller hver kolonne i en database.

Sjekk Type

Hvis du ikke vet hva slags et bestemt stykke data er, kan du sjekke i Rails konsollen. Bare skriv inn følgende kommando:

b.class

Erstatt "b" med variabelnavnet for din del av data. For eksempel:

b = [ "1", "2", "3"]
b.class
=> Array

Variable "b" er en matrise.

string

En "streng" er en svært vanlig datatype i en Ruby on Rails applikasjon. En streng kan holde et eneste ord, et tall eller en setning. En streng er omgitt av anførselstegn.

For å sette en streng:

b = "Kua hoppet over månen."

For å få tilgang det første tegnet i en streng, på indeksen plassering null:

b [0] = "T"

For å få tilgang til en rekke inne i en streng, slik som de tre første bokstavene:

b [0,2] = "The"

Du kan utføre matematiske operasjoner på en snor, men resultatene kanskje ikke hva du forventer. For eksempel:

b = "5"
c = 5 * b
c = "55555"

Tall i en streng blir ikke sett som tall av Ruby. Du må bruke en numerisk datatype, for eksempel "heltall" eller "flyte", hvis du ønsker å utføre regnestykket. Noe forvirrende, hvis du setter en kolonne type, velger du "streng" datatype for en kolonne der du har tenkt å lagre matriser eller hashes.

Tekst

En "text" feltet i Rails er utformet for å holde lengre mengder data, for eksempel produktbeskrivelser eller medlem profilfeltene. Din valgt database, slik som MySQL, bestemmer den maksimale lengden på et tekstfelt.

Integer

En "heltall" -feltet kan bare godta tall. Hvis du prøver å legge inn et brev, vil du få en feilmelding. Et heltall er et helt tall. Det har ikke noen sifre til høyre for desimaltegnet. Hvis du deler et heltall og resultatet bør ha en resten, vil Ruby runde svaret opp til nærmeste hele tall. Dette kan føre til uventede resultater i flere trinn matematiske ligninger hvis du ikke er klar over dette. Bruk "flyte" i stedet for "heltall" Hvis du trenger å jobbe med desimaler. Du kan utføre matematiske ligninger med heltall datatype. For eksempel:

b = 5
c = 5 * b
c = 25