#Alle Kan Kode. Lektion 25 - Enums

Relaterede dokumenter
#AlleKanKode. Lektion 3 - Operatorer

#AlleKanKode. Lektion 4 - Kontrol flow

#AlleKanKode. Lektion 2 - Konstanter og Variabler

Programmering for begyndere Lektion 2. Opsamling mm

Aftenskole i programmering sæson Watch Me. Sæson 2 - Lektion 19

Aftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5

Opdatering i tabellen

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

Aftenskole i programmering sæson Flere registreringer. Sæson 2 - Lektion 8

Programmering i C. Lektion december 2008

Nordisk mytologi - runer

Aftenskole i programmering sæson Core Data del 2. Sæson 2-13

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.

Programmering i C. Lektion september 2009

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

Undervisningsbeskrivelse

Programmering i C. Lektion oktober 2008

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...

Forelæsning Uge 5 Mandag

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4

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.

I denne artikel, vil der blive gennemgået de grundlæggende PHP-funktioner, såsom udskrift til skærmen, tid og dato og if-sætningen.

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

Sunde relationer online

Lærermateriale Tæl til 20 Version 1.0

Introduktion til Lectio

At klippe en streng over på det mest hensigtsmæssige sted

Kom godt i gang med I-bogen

Ledelse & Organisation/KLEO. Opsamling, evaluering og afslutning

Vejledning til læreren. MG/FG - Skoleportalen

Praktikportalen på Professionshøjskolen Absalon

3. PROJEKT, 2 SEMESTER

Lad livet inspirere dig

Svimlende store og ok kaotiske kom med til Afrikas megabyer

Rediger eller opret institutionsmedarbejder på en videregående uddannelse

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

Septimana RESERVERING AF LOKALER

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

Attraktor i en lokalegruppe.

Tylstrup Skole. Indhold

Version 1.0. Side 1 af 18

if (symbol == IDENTIFIER) { object = findprocedureobject(symboltable, identifier);

TÅRNBY FORENINGSPORTAL

Programmering C RTG

SWC eksamens-spørgsmål. Oversigt

Programmering i C Videre med C (2 af 4) 19. marts 2007

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.

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.

The Incredible Code Machine med Swift Playgrounds

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

Upload af billeder/filer for nybegyndere Del. 2

Lavet af Danni jensen og David Olsen

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

Kontrol-strukturer i PHP

GIS-øvelse i pladetektonik

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

Online kursus: Programming with ANSI C

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

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester

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.