Această pagină este protejată de mișcare
Această pagină este protejată

Modul: RaDec

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Modul care implementează șabloanele {{ RA }} și {{ DEC }}.

De asemenea, conține funcții pentru analizarea ieșirii lor pentru module (parseRA și parseDEC), pentru a menține formatul aliniat în generare și analiză.


 - [[
* Modul care implementează șabloanele RA și DEC, cu funcții de analiză a ieșirii lor,
* pentru a menține formatul aliniat la generare și analiză.
]] -

require ( „Formular: fără globali” )

local getArgs = require ( 'Modul: Argumente' ). getArgs
local p = {}

- Funcția de utilitate pentru alte module:
- analizați textul generat de Șablonul: RA (ascensiune dreaptă) e
- returnează un tabel cu tastele „h”, „m” și „s” ale numărului de tip.
funcția p . parseRA ( text )
local h , m , s

text = mw . text . trim ( mw . text . unstrip ( text )): gsub ( '-' , '-' ): gsub ( ',' , '.' )
h , m , s = text : match ( '^ (% d +) <sup> h </sup> & nbsp; (% d +) <sup> m </sup> & nbsp; ([% d%. ] +) <sup> s </sup> $ ' )
dacă nu h atunci
h , m = text : match ( '^ (% d +) <sup> h </sup> & nbsp; (% d +) <sup> m </sup> & nbsp ;: $' )
s = 0
Sfârșit
dacă nu h atunci
h = text : match ( '^ (% d +) <sup> h </sup> & nbsp ;: $' )
m , s = 0 , 0
Sfârșit

h , m , s = tonumber ( h ), tonumber ( m ), tonumber ( s )

return ( h și m și s ) și { h = h , m = m , s = s } sau nul
Sfârșit

- Funcția de utilitate pentru alte module:
- analizați textul generat de șablonul: DEC (declinare) e
- returnează un tabel cu tastele „semn”, „d”, „m” și „s” ale numărului de tip.
funcția p . parseDEC ( text )
semn local , d , m , s

text = mw . text . trim ( mw . text . unstrip ( text )): gsub ( '& # 43;' , '+' ): gsub ( '& # 45;' , '-' ): gsub ( '-' , '-' ) : gsub ( ',' , '.' )
d , m , s = text : match ( '^ ([+ -]?% d +) & deg; & nbsp; (% d +) & prime; & nbsp; ([% d%.] +) & Prime ; $ ' )
dacă nu d atunci
d , m = text : match ( '^ ([+ -]?% d +) & deg; & nbsp; (% d +) & prime; & nbsp ;: $' )
s = 0
Sfârșit
dacă nu d atunci
d = text : match ( '^ ([+ -]?% d +) & deg; & nbsp ;: $' )
m , s = 0 , 0
Sfârșit

d , m , s = tonumber ( d ), tonumber ( m ), tonumber ( s )
dacă d atunci
semn = ( d < 0 sau tostring ( d ) == '-0' ) și - 1 sau 1
d = math.abs ( d )
Sfârșit

return ( semn și d și m și s ) și { semn = semn , d = d , m = m , s = s } sau zero
Sfârșit

- Punct de intrare pentru șablonul {{RA}}
funcția p . RA ( cadru )
argumente locale = getArgs ( cadru , { parentOnly = true })
local h , m , s = args [ 1 ] și ( args [ 1 ] .. '<sup> h </sup> & nbsp;' ) sau '' , args [ 2 ] sau ':' , args [ 3 ] sau „:”
m = m .. ( m == ':' și '' sau '<sup> m </sup> & nbsp;' )
s = s .. ( s == ':' și '' sau '<sup> s </sup>' )
returnează h .. m .. ( m == ':' și '' sau s )
Sfârșit

- Punct de intrare pentru șablon {{DEC}}
funcția p . DEC ( cadru )
argumente locale = getArgs ( cadru , { parentOnly = true })
local d , m , s = args [ 1 ] și ( args [ 1 ] .. '& deg; & nbsp;' ) sau '' , args [ 2 ] sau ':' , args [ 3 ] sau ':'
d = mw . text . codifica ( d , '+ -' )
m = m .. ( m == ':' și '' sau '& prime; & nbsp;' )
s = s .. ( s == ':' și '' sau '& Prime;' )
returnează d .. m .. ( m == ':' și '' sau s )
Sfârșit

retur p