Hop til indhold
Stavox

Guide til basic string.format


Jan T

Recommended Posts

Den her guide vil undersøge dine muligheder for at sammenkæde variabler i E2. Guiden vil gå ud fra du har en standard viden om de forskellige bregreber i e2.

 

Hvad mener jeg med sammenkæde? Det mest simple er nok bare at vise det.

Mange af jer sammenkæder ed brug avf + som f.eks.

print("Ham der er en fl"+oe()+"debolle")

MEN JAN, er det ikke den eneste måde at gøre det på? Nej, det er det ikke.

             

1. Sammenkædning ved brug af format(), bedre kendt som string.format i lua og String.format i java og i så mange andre ting.

Lad os starte med en meget simple sammenkædning af det eksempel overover.

print(format("Ham der er en fl%sdebolle",oe()))
Output: Ham der er en flødebolle.

Ovenover bliver %s brugt som formaten for oe(), hvad betyder %s så? %s betyder at det der kommer er et string, for det meste kan du bare sætte %s ind og så vil den konvertere det automatisk.

String og Integer

print(format("Ham der er %i %sr gammel",50,aa()))
Output: Ham der er 50 år gammel

Hov, hov. Der har vi %s igen, så er det godt jeg ved hvad det betyder! Men hvad betyder %i så? %i står for integer og fortæller at nu kommer der et integer. (Integer et tal uden decimaler)
String og Float

print(format("Ham der er %f %sr gammel.", 50.123123, aa()))
Output: Ham der er 50.123123 år gammel.

Ved brug af %f som står for float, kan du skrive tal med decimaler. Som set i eksemplet.

String og Quotes. format har også en meget nem måde og tilføje anførselstegn. F.EKS.

print(format("%q %s","Jeg kan godt lide kage!", "- Jan 2k17"))
"Jeg kan godt lide kage!" - Jan 2k17

Andre variabler kan passes som %s.

 

Alt ovenover er ser fint ud, men jan? Hvorfor skal jeg dog skrive format() når jeg bare kan bruge +?

 

Der er ikke nogen rigtig grund til det. Det er først og fremmest, hvad kan du lide. Kan du bedre lide at bruge + eller format?

 

Jeg foretrækker selv format, derfor bruger jeg den. Jeg syntes det er mere overskueligt når man læser koden igennem.

Her er et eksempel på hvad jeg finder overskueligt.

 

function string returnTime(){
        return format("%02d:%02d:%02d", time("hour")+2, time("min"), time("sec"))
}     

 

Eksemplet oven over outputter tiden til dig.

 

 

 

- Massere af stavefejl btw.

 

Brugbare kilder:

http://lua-users.org/wiki/StringLibraryTutorial

 

Link til kommentar
Del på andre sites

Arkiveret

Dette emne er nu arkiveret og er lukket for yderligere svar

Gæst
Dette emne er nu lukket for yderligere svar
×
×
  • Tilføj...

COOKIE- OG PRIVATLIVSPOLITIK PÅ STAVOX.DK

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privatlivspolitik - Vilkår for brug.