Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering –...
Transcript of Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering –...
![Page 1: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/1.jpg)
Testautomatisering Ruby Repetition
![Page 2: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/2.jpg)
Idag
FM: ◦ Kort utvärdering Lab 1
◦ Ruby Repetition
![Page 3: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/3.jpg)
Denna veckan
Ruby Repetition
Unit Test Intro
Bra Unit Test, TDD, Videoföreläsning
![Page 4: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/4.jpg)
Utvärdering Lab 1
◦ 1. Uppskatta hur mycket tid du lagt på lab 1 (h)
◦ 2. Uppskatta kvarvarande tid för lab 1 (h)
◦ 3. Svårighet: För Lätt / Lagom / För Svår
◦ 4. Lärdommar - “Jag ser... “: Ingen praktisk nytta (-)
Viss praktisk nytta (0)
Stor praktisk nytta (+)
![Page 5: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/5.jpg)
Ngt om språkbruk
Jag hör hemma i C#
Jag kan en stor rad språk
Begreppen är ibland olika i olika språk
Jag slarvar en del med uttrycken
Ex: metod/funktion ◦ Metod är en funktion som hör hemma i en klass
Vi oklarheter: Fråga
![Page 6: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/6.jpg)
Ruby Repetition
Syfte ◦ Vi skriver Unit Tests i Ruby
Ex: Klass ”TestUser”
◦ Lab 2 kommer innebära Implementation skriven i Ruby Unit Tester skriven i Ruby
◦ Unit Tester innebär inte så mycket nytt Men kräver förståelse för grunderna i språket
◦ Sammantaget behöver vi veta något om ruby för att kunna genomföra detta
![Page 7: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/7.jpg)
Ruby Repetition
Road Map ◦ Hur lång tid tar det att bli en bra programmerare?
◦ Vilka steg bör man ta?
![Page 8: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/8.jpg)
Ruby Repetition
Road Map
◦ 1. Codecademy eller Learn Ruby The Hard Way
typ: “tutorial” eller intro-bok scope: timmar till dagar
![Page 9: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/9.jpg)
Ruby Repetition
Road Map
◦ 2a. Annan bok - helst “Uppslagsverk” ex: Ruby Programming 1.9
◦ 2b. Börja koda enkla exempel - använd google + språkets API
typ: mer uttömmande bok eller API scope: dagar till veckor
![Page 10: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/10.jpg)
Ruby Repetition
Road Map
◦ Nu kan du något om språket - plocka på ramverk för det du är intresserad av
Ex: Rails - Ramverk för att skapa webbapplikationer med Ruby
Eller: test/unit – för att skapa enhetstester i ruby
![Page 11: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/11.jpg)
Ruby Repetition
Road Map
◦ 3. Nettuts om Ruby on Rails
typ: tutorial
scope: timmar till dagar
![Page 12: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/12.jpg)
Ruby Repetition
Road Map
◦ 4. Sätt dig in i ramverket
typ: mer uttömmande
scope: dagar till veckor
◦ anmärkning: De flesta genrella ramverk av denna typ är mer omfattande än språket i sig
![Page 13: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/13.jpg)
Ruby Repetition
1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4. Programmering – Experiment/Djupare bok för ramverket
=> 5. Skapa webbapplikationer 6. Best Practices (fokus på detta först här)
Shortcuts: En van programmerare kan göra steg 1-4 på några timmar
◦ => kanske ok kod
En programmerare som inte är van kan hoppa över saker och genomföra 1-4 på några timmar ◦ => dålig kod/dålig förståelse
![Page 14: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/14.jpg)
Ruby Repetition
Hur lång tid tar det att bli en “bra” programmerare? ◦ snävt område, ex. variabler: veckor
◦ bredare område, ex. skapa en blog i RoR: månader
◦ generellt område, ex. skapa webbapplikationer i Ruby on
Rails: år
◦ mer generellt område, ex. skapa webbapplikationer: år++
Snabbt svar: 5-10 effektiva år, aktiv inom flera
områden/språk
![Page 15: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/15.jpg)
Ruby Repetition
Låt inte detta skrämma er
◦ ”Anställningsbar” utvecklare: görbart på 6 mån?
◦ Gissningsvis har ni redan nu insikter som en ”normal” nybörjare inte har.
◦ Ni kommer ha nytta av detta långt, långt innan ni är ”bra”
![Page 16: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/16.jpg)
Ruby Repetition
Hur lång tid tar det att bli en “bra” programmerare? ◦ Intelligens / Talang har väldigt lite med detta att göra (många vill dock påskina detta)
◦ Nyfikenhet, Envishet och Tid är nödvändigt…
◦ Om du ”vet” hur du lär dig bäst så kan du korta ned tiden ordentligt
![Page 17: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/17.jpg)
Ruby Repetition
En första varning ◦ Jag kommer inte fokusera särskilt mycket på vad som är korrekt/bra programmering
◦ (Däremot kommer jag prata om vad som utgör ett bra enhetstest)
![Page 18: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/18.jpg)
Ruby Repetition
En första varning
◦ Ni kommer höra saker som använd inte “for”-loopen, använd “each”
◦ Detta har ett syfte, men är inte särskilt behjälpligt för nybörjare
![Page 19: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/19.jpg)
Ruby Repetition
En första varning ◦ ”Använd inte for-loopen”
◦ Syftet är att en viss kodbas skall vara konsistent
◦ Syftet är också att vana programmerare skall “veta” vad de förväntas använda
◦ Inget av ovanstående är särskilt viktigt när du lär dig programmera
![Page 20: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/20.jpg)
Ruby Repetition
Som nybörjare bör ni prioritera dessa frågor: ◦ 1. Funkar det? (inga felmeddelanden)
◦ 2. Är det korrekt? (rätt output)
◦ 3. Vet du varför det funkar?
Om inte: skriv mer kod
◦ (4. Finns det bättre sätt att göra det på?)
![Page 21: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/21.jpg)
Ruby Repetition
Varför bör vi inte prioritera:
(4. Finns det bättre sätt att göra det på?) ◦
◦ Vad är bäst (som i effektivast/snabbast)
För det mesta: Det beror på
För det mesta: Det spelar ingen roll
◦ Vad är bäst (som i vad kommer vara enklast att förstå/underhålla?)
Om ni måste veta: resurser om några slides
![Page 22: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/22.jpg)
Ruby Repetition
Varför bör vi inte prioritera: (4. Finns det bättre sätt att göra det på?)
◦ Lär oss gå innan vi springer
◦ Jag kommer dock nämna något om detta i
förbifarten under lektionerna
◦ Jag kommer säkerligen tipsa om saker som hör hit under handledningen
◦ Ni får gärna fråga
![Page 23: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/23.jpg)
Ruby Repetition
”Bra kod”: ◦ OBS!!! Se till att ni är hyfsat trygga med språket ifråga, ex. Ruby, innan ni funderar över detta.
◦ Ni bör ta en första titt på detta hyfsat tidigt, men inte direkt (~Några veckor/månader in)
◦ Återvänd till detta kontinuerligt
![Page 24: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/24.jpg)
Ruby Repetition
”Bra kod”: ◦ Resurser - För Ruby: Ruby Style Guide (Nätresurs) - För Ruby: Ruby Best Practices (Nätresurs) - Allmänt: Clean Code (Bok - Java) - Allmänt: Code Complete (Bok - C/Java)
![Page 25: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/25.jpg)
Ruby Repetition
”Bra kod” i korthet ◦ Lätt att underhålla
Lätt att förstå
Modulär
◦ Vi kontrollerar våra antaganden
![Page 26: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/26.jpg)
Ruby Repetition
Och nu: Ruby
![Page 27: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/27.jpg)
Ruby Repetition
Snabbt om klasser ◦ En klass är en samling data och beteende som hör ihop
◦ Data: Variabler i klassen
◦ Beteende: Metoder för klassen
![Page 28: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/28.jpg)
Ruby Repetition
Snabbt om klasser ◦ Generellt sett ett abstrakt koncept
◦ Ett objekt är en konkret instans av en klass
◦ Ex:
◦ Vi kan prata om ”Bil” som ett abstrakt koncept
◦ Bilen i mitt garage är en konkret instans av klassen ”Bil”
![Page 29: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/29.jpg)
Ruby Repetition
Snabbt om klasser ◦ Exempel:
class Car
◦ def start puts ”Starting the engine…”
◦ end
End
concrete_car = Car.new concrete_car.start
![Page 30: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/30.jpg)
Ruby Repetition
Snabbt om klasser ◦ Kodexempel
![Page 31: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/31.jpg)
Ruby Repetition
Snabbt om klasser ◦ Vi återkommer till detta senare idag
![Page 32: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/32.jpg)
Ruby Repetition
Variabler har: ◦ Namn – ex: ”my_num”
◦ Värde – ex: 3
◦ Scope – ex: endast tillgänglig i aktuell metod
◦ Exempel
my_num = 3
![Page 33: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/33.jpg)
Ruby Repetition
Variabler – namn ◦ Liten bokstav + bokstäver + siffror + ’_’
◦ Vissa ord får inte användas som variabelnamn ex:: if, elsif, def, class, ..
google “ruby reserved words”
◦ Bör vara så beskrivande som möjligt
◦ Exempel ◦ “car_to_be_sold”, “current_user”, etc…
![Page 34: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/34.jpg)
Ruby Repetition
Variabler – namn ◦ Kodexempel
![Page 35: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/35.jpg)
Ruby Repetition
Variabler - Värde ◦ Man kan se variabler som en behållare som innehåller ett värde och har ett namn
◦ Ex:
my_int = 3
![Page 36: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/36.jpg)
Ruby Repetition
Variabler - Värde ◦ Värdet har en typ
Bool, Integer, Float, String, Nil
◦ Ex: my_int = 3
my_bool = false
my_float = 3.14
◦ Ta reda på typ: puts my_var.class
my_var.is_a? Integer
![Page 37: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/37.jpg)
Ruby Repetition
Variabler - Värde ◦ Typen för värdet blir intressant då vi blandar värden av olika typ
◦ Ex:
puts ”Balance: ” + balance + ” USD” # Ger fel
puts ”Balance: ” + balance.to_s + ” USD”
Dock:
puts ”Balance: #{balance} USD”
![Page 38: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/38.jpg)
Ruby Repetition
Variabler - Värde ◦ Integer
◦ Float
![Page 39: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/39.jpg)
Ruby Repetition
Variabler - Värde ◦ Bool
true, false
Boolska operatorer: ◦ && || !
Jämförande operatorer: ◦ == != <= >= < >
Används för programflöde (t.ex. if) / för att hålla status
![Page 40: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/40.jpg)
Ruby Repetition
Variabler - Värde ◦ Strängar
Text ◦ Ex: ”Jag är en sträng”
skillnad på ‘#{}’ och “#{}” - även “what’s that?”
Metoder på strängar: ◦ count, +
Fler exempel på strängmetoder:
http://www.ruby-doc.org/core-1.9.3/String.html
![Page 41: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/41.jpg)
Ruby Repetition
Variabler - Värde ◦ symboler Lättviktssträngar
Använd för fasta värden – ex. :name
:name != ”name”
Mer om symbol:
http://www.ruby-doc.org/core-1.9.3/Symbol.html
![Page 42: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/42.jpg)
Ruby Repetition
Variabler - Värde ◦ Klasser
◦ Vi kan även tilldela instanser av en klass (objekt) till variabler.
![Page 43: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/43.jpg)
Ruby Repetition
Variabler – Något om tilldelning (assignment)
◦ += …: my_var = my var + …
◦ -= …: my_var = my_var - …
◦ etc…
◦ ||= …: my_var = my_var || … # (default om nil)
![Page 44: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/44.jpg)
Ruby Repetition
Variabler – olika scope ◦ Variabler är inte tillgängliga överallt after vi definierat dem
◦ var de är tillgängliga beror på deras scope
![Page 45: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/45.jpg)
Ruby Repetition
Variabler – olika scope ◦ local variable: local_variable
tillgänglig
◦ instance variable: @instance_variable tillgänglig i ett objekt
◦ class variable: @@class_variable tillgänglig för alla objekt i en klass
◦ global variable: $global_variable tillgänglig överallt i samma projekt
◦ Finns fler: (, constant)
![Page 46: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/46.jpg)
Ruby Repetition
Variabler… ◦ Kan vara ytterliggare typer – ex. lambda, proc, etc.
![Page 47: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/47.jpg)
Ruby Repetition
Metoder på objekt ◦ .class
◦ .nil?
◦ .is_a?
◦ .eql?
För fler metoder på objekt: ◦ http://www.ruby-doc.org/core-1.9.3/Object.html
![Page 48: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/48.jpg)
Ruby Repetition
Array ◦ En lista med flera element
◦ [”first”, ”second”, ”third”]
![Page 49: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/49.jpg)
Ruby Repetition
Array ◦ En lista med flera element
◦ Väldigt vanliga
En lista över inloggade användare
En lista över bloggposter på en sida
Etc, etc…
![Page 50: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/50.jpg)
Ruby Repetition
Array ◦ En lista med flera element
◦ Skapa my_array = [”First”, ”Second”]
Alt: Array.new
◦ Tilldelning my_array[0] = ”Test”
◦ Plocka ut värde puts my_array[0]
![Page 51: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/51.jpg)
Ruby Repetition
Array ◦ Metoder – exempel:
◦ clear, collect, count, delete, each, empty?, include?, push, pop, sort, sort!
◦ Kan vi lista ut vad ovanstående gör mha länken på nästa sida?
![Page 52: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/52.jpg)
Ruby Repetition
Array ◦ Var hittar jag metoder för arrayer?
◦ Array API:
http://www.ruby-doc.org/core-1.9.3/Array.html
![Page 53: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/53.jpg)
Ruby Repetition
hash (dictionary) ◦ En uppsättning key/value-par
Varje key är associerat med ett visst värde
Varje key är unik
◦ Väldigt vanliga
Se det som en “lättvikts”-klass
Används ofta för att föra över data mellan olika moduler i ett system
![Page 54: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/54.jpg)
Ruby Repetition
hash ◦ Skapa my_hash = {”key1” => ”val1”, ”key2” => ”val2”}
my_hash = {”key1”, ”val1”, ”key2”, ”val2”}
my_hash = Hash.new
◦ Lägg till värde my_hash[”name”] = ”David”
◦ Ta ut värde puts my_hash[”name”]
![Page 55: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/55.jpg)
Ruby Repetition
hash ◦ Exempel på metoder
◦ keys, values, clear, delete, include?, size
◦ Kan vi lista ut vad dessa metoder innebär med hjälp av länken på nästa sida?
![Page 56: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/56.jpg)
Ruby Repetition
hash ◦ Var hittar jag fler metoder?
◦ Hash API:
◦ http://www.ruby-doc.org/core-1.9.3/Hash.html
![Page 57: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/57.jpg)
Ruby Repetition
Flöde – villkorat flöde (Conditional)
Snabb-guide: http://www.tutorialspoint.com/ruby/ruby_if_else.htm
◦ -if, elsif, else
kodexempel
![Page 58: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/58.jpg)
Ruby Repetition
Flöde – villkorat flöde (Conditional)
Snabb-guide: http://www.tutorialspoint.com/ruby/ruby_if_else.htm
◦ -unless
kodexempel
![Page 59: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/59.jpg)
Ruby Repetition
Flöde – villkorat flöde (Conditional)
Snabb-guide: http://www.tutorialspoint.com/ruby/ruby_if_else.htm
◦ -case when then
kodexempel
![Page 60: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/60.jpg)
Ruby Repetition
Flöde – villkorat flöde (Conditional)
Snabb-guide: http://www.tutorialspoint.com/ruby/ruby_if_else.htm
◦ (ternary operator - ? : )
kodexempel
![Page 61: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/61.jpg)
Ruby Repetition
Flöde – Loop
Snabb-guide: http://www.tutorialspoint.com/ruby/ruby_loops.htm
◦ - while do + break, next (, retry, redo)
kodexempel
![Page 62: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/62.jpg)
Ruby Repetition
Flöde – Loop
Snabb-guide: http://www.tutorialspoint.com/ruby/ruby_loops.htm
◦ - until do
kodexempel
![Page 63: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/63.jpg)
Ruby Repetition
Flöde – Loop
Snabb-guide: http://www.tutorialspoint.com/ruby/ruby_loops.htm
◦ - for … in …
kodexempel
![Page 64: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/64.jpg)
Ruby Repetition
Flöde – Loop
Snabb-guide: http://www.tutorialspoint.com/ruby/ruby_loops.htm
◦ (- loop)
kodexempel
![Page 65: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/65.jpg)
Ruby Repetition
Metoder
Varför? ◦ Gör koden mer lättläst
◦ Återanvänder kod
![Page 66: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/66.jpg)
Ruby Repetition
Metoder
Snabbguide: http://www.tutorialspoint.com/ruby/ruby_methods.htm
◦ Definition
Kodexempel
![Page 67: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/67.jpg)
Ruby Repetition
Metoder
Snabbguide: http://www.tutorialspoint.com/ruby/ruby_methods.htm
◦ Argument / parametrar
◦ Default parametrar
Kodexempel
![Page 68: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/68.jpg)
Ruby Repetition
Metoder
Snabbguide: http://www.tutorialspoint.com/ruby/ruby_methods.htm
◦ Return
◦ Att kalla på en metod
Kodexempel
![Page 69: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/69.jpg)
Ruby Repetition
Jag tar ej upp Lambda, Proc
Detta är kraftfulla byggstenar, men vi klarar oss utan dem.
När är det dags att lära sig lambda? ◦ Du har stött på det några gånger när du letat
lösningar på problem (via ex. google), och blivit imponerad av hur mycket enklare lösningen blir med lambda-uttryck
De är definitivt värda att lära sig dock…
![Page 70: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/70.jpg)
Ruby Repetition
Klasser ◦ Varför?
◦ Knyter samman data och beteende för en viss entitet
Ex: alla kod som rör användare i vårt system finns i klassen ”User”
◦ Gör koden mer lättläst (abstraktioner)
◦ Modulariserar kod (enklare att underhålla)
◦ Döljer data
◦ (Arv, polymorfism, etc…)
![Page 71: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/71.jpg)
Ruby Repetition
Klasser ◦ Snabbguide:
http://www.tutorialspoint.com/ruby/ruby_classes.htm
◦ Definition
◦ initialize – new
![Page 72: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/72.jpg)
Ruby Repetition
Klasser ◦ Snabbguide:
http://www.tutorialspoint.com/ruby/ruby_classes.htm
◦ Metoder
![Page 73: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/73.jpg)
Ruby Repetition
Klasser ◦ Snabbguide:
http://www.tutorialspoint.com/ruby/ruby_classes.htm
◦ instance variabler
◦ attr_reader
◦ attr_writer
◦ attr_accessor
![Page 74: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/74.jpg)
Ruby Repetition
Klasser ◦ Snabbguide:
http://www.tutorialspoint.com/ruby/ruby_classes.htm
◦ public/private
![Page 75: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/75.jpg)
Ruby Repetition
Klasser ◦ Snabbguide:
http://www.tutorialspoint.com/ruby/ruby_classes.htm
◦ klassvariabler (används inte särskillt ofta)
◦ klassmetoder (self)
![Page 76: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/76.jpg)
Ruby Repetition
Klasser – om arv: ◦ vi kommer använda oss av detta då vi utnyttjar vissa ramverk (t.ex. testramverk).
◦ Vi klarar oss dock långt utan att själva använda arv
◦ Exempel: class InheritedClass < BaseClass
![Page 77: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/77.jpg)
Ruby Repetition
Exceptions ◦ Något oväntat har inträffat -> exekvering avbryts
![Page 78: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/78.jpg)
Ruby Repetition
Exceptions
Kasta med ”raise”
Hantera med begin, rescue, ensure, end
![Page 79: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/79.jpg)
Ruby Repetition
Exceptions
Exempel: begin
raise 'A test exception.'
rescue Exception => e
puts e.message puts
ensure
puts "Ensuring execution"
end
![Page 80: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/80.jpg)
Ruby Repetition
Snabbt om att debugga ◦ Se först till att du kan reproducera buggen
◦ print / puts - kontrollera dina antaganden
◦ gå steg för steg
◦ utnyttja irb (el. skapa ett minimalt exempel)
◦ Steg 2: Unit Test
◦ Resurs: Kap 6 i ruby best practices (går även djupare in på detta)
![Page 81: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/81.jpg)
Ruby Repetition
Snabbt om att debugga ◦ Ej i denna kurs: debugger
![Page 82: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/82.jpg)
Ruby Repetition
Resurser för denna föreläsning
http://net.tutsplus.com/sessions/ruby-for-newbies/ (Video Tutorials) - främst lektion 1-5
http://ruby.learncodethehardway.org/book/
Snabbguide: http://www.tutorialspoint.com/ruby/ruby_quick_guide.htm (mycket vi inte gått igenom)
Officiell referens: http://www.ruby-doc.org/core-1.9.3/ (kan vara svårnavigerad innan man fått pejl på språket)
![Page 83: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/83.jpg)
Ruby Repetition
Andra resurser
Thomas, Fowler, Hunt: Programming Ruby 1.9
◦ När ni kommit in något i språket
Flanagan, Matsumoto: The Ruby Programming Language
◦ Alternativ till ovanstående
Ruby Best Practices (Hela boken) ◦ Efter någon av ovanstående böcker – eller när ni programmerat ruby
ett tag
![Page 84: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/84.jpg)
Ruby Repetition
Andra resurser
Om ni väljer en annan bok:
◦ Ruby 1.8 släpptes 2003
◦ Ruby 1.9 släpptes 2007
◦ Ruby 1.9.3 släpptes 2011
◦ Ruby 2.0 släpptes igår
◦ Se till att boken ni väljer gäller v.1.9 (bra 2.0 böcker dröjjer nog lite)
![Page 85: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/85.jpg)
Nästa gång
Unit Test – Intro
Lab 1
![Page 86: Ruby Repetition - WordPress.comRuby Repetition 1. Tutorial för språket 2. Programmering – Experiment/Djupare bok för språket 3. Tutorial för ramverk (ex. webbutveckling) 4.](https://reader034.fdocuments.net/reader034/viewer/2022050101/5f401c91cbef8b21573e31e8/html5/thumbnails/86.jpg)
Fin
…