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.
I dette kapitlet presenterer vi grunnleggende om Ruby datatyper.
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"
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
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
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 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.
Disse verdiene fungerer som du forventer dem. Nil
er Ruby's "ingenting" verdi, selv om det er et objekt.
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"
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!!!!
Det er det! Gi meg beskjed hvis du har noen spørsmål i kommentarene!