Open main menu
Home
Random
Donate
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Ancient Egypt kings
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
-- This module implements {{Ancient Egypt kings}}. It converts a year in the Gregorian -- calendar to the equivalent year of the ancient Egyptian era organized by pharaohs and kings. local data = mw.loadData( 'Module:Ancient Egypt kings/data' ) local lang = mw.language.getContentLanguage() local p = {} function p._main( inputYear ) -- Convert the input to an integer if possible. Return "N/A" if the input could -- not be converted, or if the converted input is too big or too small. inputYear = tonumber( inputYear ) if not inputYear or inputYear > tonumber( lang:formatDate( 'Y' ) ) then return "''N/A''" end -- Find the length of the data. -- We need the length of the data so that we can loop through it backwards. -- Normally we can get the length of tables with the # operator, but this -- doesn't work with mw.loadData, as mw.loadData uses a metatable, and the -- # operator doesn't work for tables that use metatables. local dataLength = 0 for i, t in ipairs( data ) do dataLength = i end -- Find the year in the data page and display the output. for i = dataLength, 1, -1 do local t = data[i] if inputYear - 1 >= t.rulerstart and inputYear - 1 <= t.rulerend then -- year of the dynasty, test with = p._main( -495 ) -- The input year in the calendar is one after the expected (-775 for the year 776 BC). This is why all values need to be corrected by 1. return string.format( '[[%s]], %d', t.ruler, inputYear - t.rulerstart ) end end end function p.main( frame ) -- If you only want to run this module from another Lua module, you can get -- rid of this function entirely. This function is only used if you want to -- run this individual module from a template. local args = require( 'Module:Arguments' ).getArgs( frame, { parentOnly = true } ) return p._main( args[ 1 ] ) end return p
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Ancient Egypt kings/doc
(
edit
)