Această pagină este semi-protejată. Poate fi modificat numai de către utilizatorii înregistrați

Forma: Formula chimică

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

Modul care implementează șablonul {{ Formula chimică }}.


 - [[
* Modul care implementează șablonul Formula chimică.
]] -

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

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

- Convertiți formula din Wikidata (C₁₀H₁₄) în format itwiki (C <sub> 10 </sub> H <sub> 14 </sub>)
funcție locală convertFormula ( text )
întoarce-te mw . ustring . gsub ( text , '([₀-₉] +)' , funcție ( subtext ) 
subtext = mw . ustring . gsub ( subtext , '.' , funcție ( char )
întoarce-te mw . ustring . char (mw ustring Punct de cod (char) -.. 8272)
sfârșit )
returnează string.format ( '<sub>% s </sub>' , subtext )
sfârșit )
Sfârșit

funcție locală getWikidataCategory ( userval , wdval )
pisică locală
dacă utilizează atunci
dacă nu wdval atunci
cat = 'P274 absent pe Wikidata'
elseif wdval == userval sau wdval == string.gsub ( userval , '</sub> <sub>' , '' ) apoi
cat = 'P274 la fel pe Wikidata'
altceva
cat = 'P274 diferit pe Wikidata'
Sfârșit
elseif wdval atunci
cat = 'P274 citit de Wikidata'
Sfârșit
returnează pisica și șirul.format ( '[[Categorie:% s]]' , pisică ) sau ''
Sfârșit

- Pentru utilizare de către alte module
funcția p . _principal ( argumente )
userval local , wdval , cat 

- valoarea utilizatorului și wikidata
userval = args [ 1 ]
wdval = mWikidata . _getProperty ({ 'P274' , from = args . from })

- convertiți formatul Wikidata în format itwiki
dacă wdval atunci
wdval = convertFormula ( wdval )
Sfârșit

- categorii de servicii
dacă mw . titlu . getCurrentTitle (). spațiu de nume == 0 atunci
dacă nu userval și nu wdval și args . pisica atunci
cat = string.format ( '[[Categorie:% s]]' , arg . cat )
elseif userval sau wdval atunci
cat = getWikidataCategory ( userval , wdval )
Sfârșit
Sfârșit

return ( userval sau wdval sau '' ) .. ( cat sau '' )
Sfârșit

- Funcția pentru șablonul {{Formula chimică}}
funcția p . principal ( cadru )
retur p . _main ( getArgs ( cadru , { parentOnly = true }))
Sfârșit

retur p