Ruby for Newbies Variabler, datatyper og filer

Ruby er et av de mest populære språkene som brukes på nettet. Vi har nylig startet en ny screencast-serie her på Nettuts + som vil introdusere deg til Ruby, samt de flotte rammene og verktøyene som følger med Ruby-utviklingen. I dag ser vi på de grunnleggende Ruby datatyper, samt bruker variabler og lagrer Ruby-koden i filer.


Ta igjen

  • Del 1: Installere Ruby og Komme i gang

Se Screencast


Ruby er grunnleggende datatyper og objekter

I dette kapitlet presenterer vi grunnleggende om Ruby datatyper.

Strings

Ruby strenger er ikke mye forskjellig fra andre språk du er sannsynligvis vant til. Du kan bruke både doble anførselstegn og enkelt anførselstegn for å lage strenge:

 my_string = "Hei, verden!" my_other_string = 'Hva skjer?'

Selvfølgelig, hvis du vil bruke samme type sitat i strengen, må du unnslippe det:

 greeting_1 = 'Hvordan \' er det alle \ "? '' greeting_2 = "\" Hvordan går det? \ "spurte hun."

Ruby tilbyr strenginterpolering: "innebygd" resultatet av en kode i en streng. Du vil sannsynligvis gjøre dette oftest med variabler, men du kan utføre noen kode du vil ha der. Koden du interpolerer går mellom # og :

 navn = "Andrew" hilsen = "Hei, jeg heter # name" addition = "25 x 8 = # 25 * 8"

tall

Ruby kan håndtere både heltall og flytende punktnumre (tall med decimaler), og det gjør det akkurat slik du ville forvente:

 ti = 10 fifteen_point_two = 15,2 twenty_five_point_two = ti + fifteen_point_two;

Her er den første av mange biter av syntaktisk sukker vi vil se: du kan bruke en understrek som tusen delingsdeler når du skriver lange tall; Ruby ignorerer understrekingen. Dette gjør det enkelt å lese store tall:

 milliard = 1_000_000_000

arrays

Det er to måter å opprette en tom rekkefølge på:

 my_arr = Array.new my_other_arr = [] my_third_array = ["one", "two", "three"]

Det er lett å lage en matrise med elementer i den, som du kan se.

Hvis du vil legge til et element i en matrise, kan du bruke trykk metode, eller bruk kvadrat-brakett notasjon, sette riktig indeks i parentes. Du kan bruke firkantede parenteser for å få verdiene tilbake også.

 my_arr.push ("foobar") my_arr [1] = "gizmo" my_arr [0] # foobar

hashes

En hash i Ruby er som et objekt bokstavelig i JavaScript eller en assosiativ array i PHP. De er laget på samme måte som arrayer:

 my_hash = Hash.new my_other_hash = 

For å sette elementet i en hash, bruker du igjen kvadrat-brakett notasjonen. Du kan bruke hvilken som helst verdi som nøkkel, men strenger eller symboler (kommer opp neste) er vanlige alternativer.

 my_hash ["name"] = "Andrew" my_hash [: age] = 20

For å lage en hash med objekter i den helt fra begynnelsen, bruker du en notasjon som er nesten identisk med JavaScript-objektets bokstav; Den eneste forskjellen er at Ruby bruker en pil (=>) mellom nøkler og verdier:

 person = : name => "Joe",: alder => 35,: jobb => "rørlegger"

Symboler

Symboler er lette strenger. De brukes ofte som identifikatorer, på andre språk vil ofte bruke strenger. De brukes i stedet for strenger fordi de kan ta opp mye mindre minne (det blir komplisert, så jeg prøver å holde det enkelt, hvis du vil lese mer, sjekk ut denne artikkelen).

For å lage et symbol, før du bare skriver et ord med et kolon Du kan se noen eksempler på dette i kodestykket ovenfor.

True, False, og Nil

Disse verdiene fungerer som du forventer dem. Nil er Ruby's "ingenting" verdi, selv om det er et objekt.


Metoder på objekter

Fordi alt i Ruby er en gjenstand, har stort sett alt det du kan bruke metoder:

 name = "Andrew" name.upcase # "ANDREW" name.downcase # "andrew"

Du kan enkelt legge til metoder for objekter. Den første måten er å legge til en singleton metode. Dette er en metode som bare er satt av en enkelt forekomst av et objekt.

 navn = "Andrew" name_2 = "Joe" def name.add_last_name "# self Burgess" sluttnavn.add_lastnavn # "Andrew Burgess" name_2.add_last_name # NoMethodError

Hvis du vil at alle strengene skal ha denne metoden, kan du dette ved å åpne String-klassen og legge til en eksempelmetode.

 navn = "Joe" name_2 = "Andrew" klasse String def add_last_name "# self last_name_goes_here" sluttnavn.add_last_name # "Joe last_name_goes_here" name.add_last_name # "Andrew last_name_goes_here"

Ruby Files

Selvfølgelig vil du legge Ruby-koden i filer ettersom den blir lengre. Bare gi den filen en utvidelse av .rb, og du burde være god.

Prøv å sette dette i en fil:

 navn = "Joe" def name.shout "# self.upcase !!!!" slutten setter name.shout

For å kjøre denne koden, åpne din terminal og kjøre dette:

 $ ruby ​​your_file_name.rb JOE!!!!

Konklusjon

Det er det! Gi meg beskjed hvis du har noen spørsmål i kommentarene!