Pāriet uz saturu

Vikipēdija:Lua

Vikipēdijas lapa

Lua ir programmēšanas valoda, kas pašlaik ir pieejama Vikipēdijā latviešu valodā.

Lua pirmkods tiek saglabāts lapās ar vārdtelpu Modulis: (skatīt, piemēram, "Sveika, pasaule!"). Šos moduļus var pēc tam izmantot veidnēs, tos ievietojot ar {{#invoke:ModuļaNoSaukums|funkcija|parametrs}} palīdzību.

Vikipēdijas veidnes, kas ir balstītas uz Lua moduļiem (nav iekļautas veidnes, kurās moduļi vienkārši tiek izmantoti, piemēram Modulis:InfoboxImage), atrodamas šajā kategorijā.

Vikipēdijā pieejamie moduļi ir atrodami šajā lapā.

Sveika, pasaule! programmēšanā Lua

[labot pirmkodu]

Tev nav jāinstalē vai jāglabā nekas.

  1. Rediģē savu Lietotāja lapu.
  2. Ielīmē sekojošo izsaukumu jaunā rindā sava Lietotāja lapas sākumā:
{{#invoke:Bananas|hello}}
  1. Noklikšķini uz Rādīt pirmskatu. Funkcijas hello izsaukums modulī Modulis:Bananas tiks aizstāts ar sekojošo:
Sveika, pasaule!
  1. Noklikšķini uz Atcelt. Kad parādīsies uznirstošais logs, noklikšķini uz Leave.
  2. Tava Lietotāja lapa paliek nemainīta.

Atkļūdošanas konsole: Sāc mācīties Lua

[labot pirmkodu]

Scribunto Lua Atkļūdošanas konsole ir drošs, interaktīvs rīks Lua apguvei Wikipēdijā.

  1. Noklikšķiniet uz Aplūkot kodu lapā Modulis:Yesno.
  2. Ritiniet lapu līdz Atkļūdošanas konsole sadaļai.
  3. Ielīmējiet komentāru un izsaukumu pelēkajā ievades laukā (virs pogas Notīrīt).
--[[Jūsu pirmais Lua "Hello World" tipa programma]]--
print("Laipni lūdzam vietnē " .. _VERSION .. "!") -- Savieno Lua versiju ar `..`
  1. Nospiediet ↵ Enter vienu reizi, lai izpildītu abus Lua komandus.
  2. Rezultāts parādīsies zem Lua print komandrindas:
Laipni lūdzam vietnē Lua 5.1!
  1. Nospiediet Bulttaustiņš uz augšu (↑), lai ritinātu cauri iepriekšējām Lua komandām.
  2. Pēc izvēles, noklikšķiniet uz Notīrīt, lai iztīrītu tikai Atkļūdošanas konsole; Lua redaktors iepriekš paliks nemainīts.


HTML ģenerators Atkļūdošanas konsolē

Izsauciet funkciju hello modulī Modulis:Bananas:

local modHello = require('Modulis:Bananas') -- ielādē moduli Atkļūdošanas konsolē
local frame = mw.getCurrentFrame(); print(modHello.hello(frame)) -- "Sveika, pasaule!"
Sveika, pasaule!
Identitātes funkcija
local yesno = require('Modulis:Yesno') -- #if yesno tad atgriež savu ievades parametru
print(mw.getCurrentFrame():callParserFunction("#if", yesno("Jā"), "Jā", 'nē'))
if yesno('nē') then print("Jā") else print('nē') end
Jā
nē
  1. Aizveriet aizsargāto Modulis:Yesno, kas paliek nemainīts.

Grāmatas atsauce

[labot pirmkodu]
  1. Rediģē savu Lietotāja lapu.
{{Grāmatas atsauce |last=Solomon |first=Maynard
|title=Mozart: a life |publisher=HarperCollins 
|publication-place=New York |year=1995 |isbn=978-0-06-019046-0 |language=en 
|url=https://archive.org/details/mozartlife00solo |oclc=31435799
|ref=CITEREFSolomon1995}}
  1. Noklikšķini uz Rādīt pirmskatu:

Maynard Solomon. Mozart: a life (angļu). New York : HarperCollins, 1995. ISBN 978-0-06-019046-0. OCLC 31435799.

With Harvard citation |ref="harv" in Debug console of Modulis:Yesno:

-- Generic frame Builder simulates {{TemplateTitle | parentArgs}}
local function buildFrame(templateTitle, parentArgs, moduleName, childArgs)
    local root = mw.getCurrentFrame()
    local parent = root:newChild{title=templateTitle, args=parentArgs or {}}
    -- Child frame: simulates {{#invoke:moduleName |entryPoint| childArgs}}
    return parent:newChild{title=moduleName, args=childArgs or {}}
end
local prm = {last="Solomon", first="Maynard", title="Mozart: a life",
  publisher="HarperCollins", ["publication-place"]="New York",
  year="1995", isbn="978-0-06-019046-0", language="en",
  url="https://archive.org/details/mozartlife00solo",
  oclc="31435799", ref="harv"
}
local moduleName = "Module:citation/CS1"; local childArg = {CitationClass = "book"}
local frame = buildFrame("Template:Cite book", prm, moduleName, childArg)
print(require(moduleName).citation(frame))

Missing Year of book in id="CITEREFSolomon":

<span id="CITEREFSolomon" class="citation book">Maynard Solomon. [https://archive.org/details/mozartlife00solo ''Mozart: a life''] (angļu). New York : HarperCollins, 1995. [[ISBN|ISBN]]&nbsp;[[Special:BookSources/978-0-06-019046-0|978-0-06-019046-0]]. [[OCLC|OCLC]]&nbsp;[//www.worldcat.org/oclc/31435799 31435799].</span>

With |ref="CITEREFSolomon1995":

local prm = {last="Solomon", first="Maynard", title="Mozart: a life",
  publisher="HarperCollins", ["publication-place"]="New York",
  year="1995", isbn="978-0-06-019046-0", language="en",
  url="https://archive.org/details/mozartlife00solo",
  oclc="31435799", ref="CITEREFSolomon1995"
}
local frame = buildFrame("Template:Cite book", prm, moduleName, childArg)
print(require(moduleName).citation(frame))
<span id="CITEREFSolomon1995" class="citation book">Maynard Solomon. [https://archive.org/details/mozartlife00solo ''Mozart: a life''] (angļu). New York : HarperCollins, 1995. [[ISBN|ISBN]]&nbsp;[[Special:BookSources/978-0-06-019046-0|978-0-06-019046-0]]. [[OCLC|OCLC]]&nbsp;[//www.worldcat.org/oclc/31435799 31435799].</span>

Running in Debug console anchor_id from Modulis:Yesno
(also known as function make_citeref_id (namelist, year) in en:Module:Citation/CS1):

local function is_set( var )
  return not (var == nil or var == '');
end
local function first_set(...)
	local list = {...};
	for _, var in pairs(list) do
		if is_set( var ) then
			return var;
		end
	end
end
local function anchor_id( options )
  local id = table.concat( options ); -- concatenate names and year for CITEREF id
  if is_set (id) then                 -- if concatenation is not an empty string
      return "CITEREF" .. id;         -- add the CITEREF portion
  else
      return '';                      -- return an empty string
  end
end
local last = "Solomon"; local anchor_year = "1995"
print("|year="..first_set(Year, anchor_year))
print(("<span id=\"%s\">Maynard Solomon</span>"):format(anchor_id({last})))
print("|ref="..anchor_id({last, anchor_year}))
|year=1995
<span id="CITEREFSolomon">Maynard Solomon</span>
|ref=CITEREFSolomon1995

Darāmie darbi

[labot pirmkodu]

Pabeigt pielāgošanu

[labot pirmkodu]

Kaut kad pārkonvertēt

[labot pirmkodu]

Potenciāli noderīgi moduļi

[labot pirmkodu]

Skatīt arī

[labot pirmkodu]