Forma: Sky
Salt la navigare Salt la căutare
Instructiuni de folosire
Acesta este un modul scris în Lua . Următoarele instrucțiuni sunt cuprinse în sub- modulul: cer / om ( schimbări · istorie )
Sandbox: Formă: Heaven / sandbox ( modificări · istoric ) · Test: Formă: Heaven / test ( modificat · Istoric · Run )
Acesta este un modul scris în Lua . Următoarele instrucțiuni sunt cuprinse în sub- modulul: cer / om ( schimbări · istorie )
Sandbox: Formă: Heaven / sandbox ( modificări · istoric ) · Test: Formă: Heaven / test ( modificat · Istoric · Run )
Modul care implementează șablonul {{ Cielo }}. Încărcați CSS-ul coordonatelor din Module: Coord / styles.css .
- [[
* Modul care implementează șablonul Cielo.
]] -
require ( „Formular: fără globali” )
local getArgs = require ( 'Modul: Argumente' ). getArgs
local mRaDec = require ( 'Modul: RaDec' )
local errorCategory = '[[Categorie: intrări în modul Sky cu erori]]'
- Handler de eroare pentru xpcall, formatați eroarea.
-
- @param {string} msg
- @return {șir}
funcție locală errhandler ( msg )
local cat = mw . titlu . getCurrentTitle (). spațiu de nume == 0 și errorCategory sau "
returnează string.format ( '<span class = "error">% s </span>% s' , msg , cat )
Sfârșit
- Returnează numărul rotunjit la numărul necesar de zecimale.
- http://lua-users.org/wiki/SimpleRound
-
- @param {number} num
- @param {number} idp
- @return {number}
runda funcției locale ( num , idp )
local mult = 10 ^ ( idp sau 0 )
returnează math.floor ( num * mult + 0,5 ) / mult
Sfârșit
- Returnează șirul „0 + număr” atunci când numărul este o singură cifră, altfel același număr.
-
- @param {number} num
- @return {șir}
funcție locală padleft0 ( num )
return ( num < 10 și '0' sau '' ) .. num
Sfârșit
- Parsificați parametrii de poziție standard și returnați două tabele,
- pentru ascensiune dreaptă și declinare.
-
- @param {table} args
- @return {table} ascensiune dreaptă, cu tastele „h”, „m” și „s” ale numărului de tip
- declinare @return {table}, cu tastele „semn”, d ”,„ m ”și„ s ”ale numărului de tip
funcție locală parsePosArgs ( args )
local ra , dec , h , d , m , s , semn
- ascensiunea dreaptă
args [ 3 ] = args [ 3 ] și args [ 3 ]: gsub ( ',' , '.' ) sau nul
h , m , s = tonumber ( args [ 1 ]), tonumber ( args [ 2 ]), tonumber ( args [ 3 ])
dacă h și m și s atunci
ra = { h = h , m = m , s = s }
Sfârșit
- declinare
args [ 7 ] = args [ 7 ] și args [ 7 ]: gsub ( ',' , '.' ) sau nil
d , m , s = tonumber ( args [ 5 ]), tonumber ( args [ 6 ]), tonumber ( args [ 7 ])
dacă d și m și s atunci
local dSign = args [ 5 ]: sub ( 1 , 1 )
semn = ( args [ 4 ] == '-' sau args [ 4 ] == '-' sau dSign == '-' sau dSign == '-' ) și - 1 sau 1
dec = { semn = semn , d = math.abs ( d ), m = m , s = s }
Sfârșit
întoarce ra , dec
Sfârșit
- Returnează o etichetă span cu coordonatele id = care conțin coordonatele ceresti specificate
- ca link extern către site-ul wikisky.org.
-
- @param {table} ra
- @param {table} dec
- @param {number} distanță
- @return {șir}
funcție locală getHTML ( ra , dec , distanță )
local otherPars = 'show_grid = 1 & show_constellation_lines = 1 & show_constellation_boundaries = 1' ..
'& show_const_names = 1 & show_galaxies = 1 & img_source = IMG_all'
local raPar = ra . h + ra . m / 60 + ra . s / 3600
local dePar = dec . semn * ( dec . d + dec . m / 60 + dec . s / 3600 )
zoomPar local = rotund ( math.log ( distanță sau 100000 ) / math.log ( 10 ) + 1 , 0 )
local target = string.format ( 'http://www.wikisky.org/?ra=%s&de=%s&zoom=%s&%s' , raPar , dePar , zoomPar , otherPars )
text local = string.format ( '% s <sup> h </sup>% s <sup> m </sup>% s <sup> s </sup>,% s% s °% s ′% s ″ ' ,
padleft0 ( ra . h ), padleft0 ( ra . m ), padleft0 ( ra . s ),
dec . semn == 1 și „+” sau „-” ,
padleft0 ( dec . d ), padleft0 ( dec . m ), padleft0 ( dec . s ))
local extlink = string.format ( '[% s% s]' , țintă , text )
local root = mw . html. create ( 'span' )
rădăcină
: addClass ( „plainlinks nourlexpansion” )
: attr ( 'id' , 'coordonate' )
: wikitext ( '[[Coordonate celeste | Coordonate]]: [[Fișier: Jupiter și luna.png | 20px | link = | Hartă celestă]]' .. extlink )
întoarce-te mw . getCurrentFrame (): extensionTag {
nume = 'șabloane' ,
args = { src = 'Modul: Coord / styles.css' }
} .. tostring ( rădăcină )
Sfârșit
- ================================================== ============================
- Funcții exportate
- ================================================== ============================
local p = {}
- Funcție pentru utilizare de către un alt modul.
funcția p. _principal ( argumente )
local ra , dec , distance
dacă arg. RA și arg . DEC atunci
ra = mRaDec . parseRA (args. RA)
dec = mRaDec . parseDEC (args. DEC)
distance = ToNumber ( arg . distanță)
altfel
ra , dec = parsePosArgs ( args )
distanță = număr ( args [ 8 ])
Sfârșit
return ( ra și dec ) și getHTML ( ra , dec , distance ) sau zero
Sfârșit
- Funcție pentru șablonul {{Sky}}.
funcția p. principal ( cadru )
return select ( 2 , xpcall ( funcție ()
retur p . _main ( getArgs ( cadru , { parentOnly = true }))
end , errhandler ))
Sfârșit
retur p