#Alle Kan Kode. Lektion 25 - Enums

Relaterede dokumenter
#AlleKanKode. Lektion 2 - Konstanter og Variabler

Programmering for begyndere Lektion 2. Opsamling mm

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Programmering i C. Lektion december 2008

Nordisk mytologi - runer

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16,

Python 3 kursus lektion 1:

Vejledning Post modul

Introduktion til ActionScript, fortsat

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.

Virkefeltsregler i Java

Kursuskatalog 2012 TwinCAT Basic og Extended

Introduktion til funktioner, moduler og scopes i Python

SKATTEJAGT DE HURTIGE 5-6 ÅR. Sådan gør du. Prøv at justere aktiviteten sådan her..! Uge 16

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

POST IT! Cph Business Academy Multimediedesign 2. Semester flow april Kirstine Marie Rasmussen cph-

Kursuskatalog 2013 TwinCAT Basic og Extended

Brugervejledning til Webuntis for undervisere og administrationen

Lederens ressourceoptimering

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:

Quick guide - WISEflow

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

Programmeringscamp. Implementer funktionerne én for én og test hele tiden.

Grundlæggende Programmering ITU, Efterår Skriftlig eksamen i Grundlæggende Programmering

Specifikation Abstrakt OO OS-API Rev Specifikation. Abstrakt, objektorienteret operativsystem-api

PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;

SKATTEJAGT DE HURTIGE 5-6 ÅR. Sådan gør du. Prøv at justere aktiviteten sådan her..! Januar 2016

Anvendelse af metoder - Programmering

DANSK PALLIATIV DATABASE DPD VEJLEDNING DATAINDTASTNING

DANSK PALLIATIV DATABASE DPD VEJLEDNING DATAINDTASTNING

Skab Din Egen Verden

Kapitel 3 Betinget logik i C#

VEJLEDNING TIL LUDUS, WORD og ONLINE ORDBØGER

Mysen 2014 IRN. Standardisert bønnetidstabell. Dekningsområde. Org.No: Storgaten 39 (5.etg.) N 0183 Oslo NORWAY. post@irn.

Netværk & elektronik

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

Undervisningsbeskrivelse

Lærermateriale Tæl til 20 Version 1.0

Introduktion til Lectio

Kom godt i gang med I-bogen

Vejledning til læreren. MG/FG - Skoleportalen

Praktikportalen på Professionshøjskolen Absalon

3. PROJEKT, 2 SEMESTER

Lad livet inspirere dig

Rockband. Introduktion. Scratch. I dette projekt skal du lære, hvordan du kan kode dit eget musikinstrument! Arbejdsliste.

ipad for let øvede, modul 7 FaceTime

Læringsteams Uge Læringspakke 2 Modul 2.5 Vejledning God Implementering

Vejledning til Formandsportalen

Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)

Debathjørnet for klassetrin Debat, argumentationslære og perspektivering

Tylstrup Skole. Indhold

Version 1.0. Side 1 af 18

TÅRNBY FORENINGSPORTAL

Programmering C RTG

SWC eksamens-spørgsmål. Oversigt

Lær Python dag 1 - modul 1

Tillykke med din nye ipad. Denne guide er til dig, der har et Apple-ID i forvejen

Udvid din lytteoplevelse

Lær Python - Dag 4, modul 1 Objektorienteret programmering

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

Hour of Code med Swift Playgrounds

FAABORG GYMNASIUMs Forældrehåndbog

Lærervejledning til oplæg om privatøkonomi - tjek på kredit, lån og budget

Lavet af Danni jensen og David Olsen

Hvad er foldebøger? 3 ideer til foldebøger

GIS-øvelse i pladetektonik

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

Uge 46. Kære forældre i 3. klasse. Diverse: Uge 36:

ChatBot. Introduktion. Scratch. Nu skal du lære hvordan du programmerer din egen talende robot! Arbejdsliste. Test dit Projekt.

Lær Python - Dag 4, modul 2 Objektorienteret programmering

Processer og tråde. dopsys 1

Transkript:

#Alle Kan Kode Lektion 25 - Enums

Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger osv. Andre vil komme til at se og høre det du siger, og det vil ikke være rigtigt at klippe det ud af lektionen bagefter

I tilfælde af CRASH Lektionen er optaget Live med kursister Hvis min computer crasher. Bliv i Zoom. Jeg kommer på så hurtig jeg kan.

Forrige lektion Vi lærte om Guard som er en slags omvendt if Vi lærte om Scope, som betyder hvor variabler lever.

Agenda Enums - Grundlæggende Enums - Udvidet

Sådan stiller du spørgsmål Undervejs i lektionen er jeres mikrofoner slukkede. Hvis du har spørgsmål så skriv i chatten eller brug ræk hånden op. Jeg vil forsøge at tage jeres spørgsmål i klumper så vi ikke får for mange afbræk i flowet Jeg åbner jeres mikrofon efter behov, hav gerne hovedtelefoner på og hvis muligt prøv at være i et lokale uden for meget baggrundsstøj.

Spørgsmål

Modul 3 Lektion 25: Enumerations (Enums)

Enums Enums bruges til typer med faste værdier. Jan, Feb, Marts, April, Maj, Juni. Man, Tirs, Ons, Tors, Fre Rød, Gul, Grøn (Trafiklys får ikke flere farver) Altså FASTE VÆRDIER vi vil spørge på uden at skulle spørge på RØD, GUL, GRØN tekst værdier.

Enums

Enums enum CompassPoint { case north case east case south case west }

Enums enum CompassPoint { case north, east, south, west } var compassheading = CompassPoint.west var compassheading: CompassPoint =.west compassheading =.north

Spørge på værdier let compassheading: CompassPoint =.west switch compassheading { case.north: print( Afsted mod nord") case.east: print( Til det mytiske østen") case.south: print( Sydpå ned i varmen") case.west: print( Til det vilde vest det går") }

Spørge med en if let compassheading: CompassPoint =.west if compassheading ==.west { print( Jeg ridder mod vest.. På min hest ) }

Fordele ved enum typer struct Movie { var name: String var releaseyear: Int var genre: String } let movie = Movie(name: Aliens, releaseyear: 1986, genre: "SejFi") Skriv i chatten når du har spottet en fejl.

Fordele ved enum typer enum Genre { case animated, action, scifi, thriller } struct Movie { var name: String var releaseyear: Int var genre: Genre } let movie = Movie(name: Aliens", releaseyear: 2016, genre:.scifi) Lad os taste eksemplet i en playgrounds.

Spørgsmål til grundlæggende?

Udvidet : Eksemplet enum Måned { } case jan,feb,mar,apr,maj,jun,jul,aug,sep,okt,nov,dec var minfødselsmåned = Måned.okt print (minfødselsmåned) Start en playground og tast ovenstående ind som udgangpunkt.

Print var minfødselsmåned = Måned.okt print (minfødselsmåned) Oktober Hvad gør jeg hvis print skal skrive min måned pænt? - Giv dit bud i chatten.

Hvad så vi i Xcode enum Måned : CustomStringConvertible { case jan,feb,mar,apr,maj,jun,jul,aug,sep,okt,nov,dec Enum er en type En type kan implementere CustomStringConvertible protokollen Fuldstændig ligesom med struct og class } var description: String { switch self { case.jan : return "Januar" case.feb : return "Februar" case.mar : return "Marts" case.apr : return "April" case.maj : return "Maj" case.jun : return "Juni" case.jul : return "Juli" case.aug : return "August" case.sep : return "September" case.okt : return "Oktober" case.nov : return "November" case.dec : return "December" } }

Spørgsmål?

Fortløbende

RawValue Enums kan have en RawValue RawValue er den værdi det logiske udfald har. Smart hvis man vil gemme en fysisk værdi ud fra en logisk værdi Smart hvis man feks vil lave måned om til et tal. Jan = 1, Feb = 2 osv. Det ser vi i Xcode hvordan vi kan lave.

Hvad så vi i Xcode Vi kunne erklære at vores Enum var en Int, og give den et fortløbende nummer (rawvalue) Vi kan lave en instans ud fra et rawvalue (Jesus Fødsels Måned = 12) Vi kan tildele rawvalues til alle enum udfald, og på den måde indkapsle en rigtig værdi med en logisk værdi.

Spørgsmål til Raw Value

enums er typer enums er typer. Enums kan have funktioner ligesom class og struct. Det ser vi et eksempel på i playgrounds.

Func og Guard func næstemåned() -> Måned { let næste = self.rawvalue + 1 guard let næstemåned = Måned(rawValue: næste) else { } return Måned.jan } return næstemåned Vi lavede en funktion, som brugte Guard til at sikre os at vi havde en værdi der kunne returneres.

Spørgsmål til funktioner på enums

Lidt mere info Man kan tilknytte associerede værdier til enum udfald Ikke kun raw value men flere værdier. Det er avanceret og jeg kan henvise til Apple online dokumentation

Modul 3 Lektion 25 Øvelser: Enums Løs opgaverne i 025-Enums.playground

Vi ses næste uge. God påske 2017 Apple Inc. This work is licensed by Apple Inc. under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.