Ruby är ett av de mest populära språk som används på webben. Vi har nyligen startat en ny screencastserie här på Netuts + som introducerar dig till Ruby, liksom de stora ramar och verktyg som följer med Ruby-utveckling. Idag ser vi på de grundläggande Ruby datatyperna, såväl som att använda variabler och lagrar din Ruby-kod i filer.
I det här kapitlet presenterar vi dig för grunderna för Ruby datatyper.
Ruby strängar är inte mycket annorlunda än andra språk du brukar brukade. Du kan använda både dubbla citat och enkla citat för att skapa strängar:
my_string = "Hej världen!" my_other_string = 'Vad händer?'
Självklart, om du vill använda samma typ av citat inom strängen, måste du fly den:
greeting_1 = 'Hur \' är y \ 'alla gör \'? ' greeting_2 = "\" Hur gör du? \ "frågade hon."
Ruby erbjuder stränginterpolering: "inbäddning" resultatet av någon kod i en sträng. Du gör det förmodligen oftast med variabler, men du kan exekvera någon kod du vill ha där. Koden du interpolerar går mellan #
och :
namn = "Andrew" greeting = "Hej, jag heter # name" addition = "25 x 8 = # 25 * 8"
Ruby kan hantera både heltal och flytande punktnummer (siffror med decimaler), och det gör det precis som du förväntar dig:
tio = 10 fifteen_point_two = 15,2 twenty_five_point_two = tio + fifteen_point_two;
Här är den första av många bitar av syntaktiskt socker vi ser: du kan använda ett understreck som tusentals divider när du skriver långa nummer; Ruby ignorerar underskriften. Detta gör det enkelt att läsa stora nummer:
miljarder = 1_000_000_000
Det finns två sätt att skapa en tom array:
my_arr = Array.new my_other_arr = [] my_third_array = ["one", "two", "three"]
Det är lätt att skapa en array med element i den, som du kan se.
För att lägga till ett objekt i en array kan du använda tryck
metod, eller använd notering med kvadratkonsol, placera lämpligt index i parenteserna. Du kan använda fyrkantiga parentes för att få värdena tillbaka också.
my_arr.push ("foobar") my_arr [1] = "gizmo" my_arr [0] # foobar
En hash i Ruby är som ett objekt bokstavligt i JavaScript eller en associativ array i PHP. De är gjorda på samma sätt som arrays:
my_hash = Hash.new my_other_hash =
För att sätta föremål i en hash, använder du igen kvadratkonsolnotationen. Du kan använda valfritt värde som nyckel, men strängar eller symboler (kommer upp nästa) är vanliga alternativ.
my_hash ["name"] = "Andrew" my_hash [: ålder] = 20
För att skapa en hash med objekt i den från början, använder du en notation som är nästan identisk med JavaScript-objektets bokstavspråk; Den enda skillnaden är att Ruby använder en pil (=>
) mellan nycklar och värden:
person = : name => "Joe",: ålder => 35,: jobb => "rörmokare"
Symboler är lätta strängar. De används ofta som identifierare, på andra språk brukar ofta strängar användas. De används istället för strängar eftersom de kan ta upp mycket mindre minne (det blir komplicerat, så jag försöker hålla det enkelt, om du vill läsa mer kolla in den här artikeln).
För att skapa en symbol, gå före ett ord med ett kolon Du kan se några exempel på detta i kodfragmenten ovan.
Dessa värden fungerar som du förväntar dig. Noll
är Rubins "ingenting" värde, även om det är ett objekt.
Eftersom allt i Ruby är ett objekt har ganska mycket allting metoder som du kan köra:
name = "Andrew" name.upcase # "ANDREW" name.downcase # "andrew"
Du kan enkelt lägga till metoder för objekt. Det första sättet är att lägga till en singleton metod. Detta är en metod som endast sätts av en enda förekomst av ett objekt.
namn = "Andrew" name_2 = "Joe" def name.add_last_name "# self Burgess" slutnamn.add_lastnamn # "Andrew Burgess" name_2.add_last_name # NoMethodError
Om du ville att alla strängar skulle ha den här metoden skulle du kunna göra det genom att öppna strängklassen och lägga till en förekomstmetod.
namn = "Joe" name_2 = "Andrew" class String def add_last_name "# self last_name_goes_here" slutändamensnamn.add_lastnamn # "Joe last_name_goes_here" name.add_last_name # "Andrew last_name_goes_here"
Självklart vill du lägga din Ruby-kod i filer eftersom det blir längre. Ge bara den filen en förlängning av .rb
, och du borde vara bra.
Försök att sätta det här i en fil:
namn = "Joe" def name.shout "# self.upcase !!!!" slutet sätter namn.shout
För att köra den här koden, öppna din terminal och köra den här:
$ ruby your_file_name.rb JOE!!!!
Det är allt! Låt mig veta om du har några frågor i kommentarerna!