Spring til indhold

Modul:Deg2hms

Fra Wikipedia, den frie encyklopædi
-- Modul til omregning af et decimalgrad til timer, minutter og sekunder

local p = {} -- Opret en lokal variabel p med en tom tabel
             -- Alle moduler skal have en tabel, som de slutter med at returnere
             -- Tabellen vil komme til at indeholde funktioner som kan kaldes med #invoke

function p.deg2hms (frame) -- Indsæt værdien deg2hms i tabellen p

	-- deg2hms er en funktion som defineres herunder
	
	-- funktioen har parameteren frame som i dette tilfælde er en tabel
	-- frame.args er en tabel over parametre fra kaldet af #invoke
	-- frame.args[1] er en den første unvangivne parameter 
	
	local decimalgrad = frame.args[1]  -- lav en lokal variabel

	-- beregn timer, bueminutter og buesekunder
	local timer = decimalgrad/15
	local timer_afrundet  = math.floor(timer) 
	local minutter = (timer - timer_afrundet) * 60
	local minutter_afrundet = math.floor(minutter)
	local sekunder = (minutter - minutter_afrundet) * 60

	-- returner de beregnede værdier adskilt af kolon
	return string.format ("%d:%d:%f", timer_afrundet, minutter_afrundet, sekunder) 

end -- her ender definitionen af funktiionen p.deg2hms

return p -- Modulet returnerer tabellen p. Den (eller de) indeholdte funktioner kan så kaldes med #invoke