<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FSarai_Blanco</id>
	<title>Module:Sandbox/Sarai Blanco - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FSarai_Blanco"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Sarai_Blanco&amp;action=history"/>
	<updated>2026-07-30T15:47:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Sarai_Blanco&amp;diff=146172&amp;oldid=prev</id>
		<title>imported&gt;Sarai Blanco at 21:38, 19 November 2018</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Sarai_Blanco&amp;diff=146172&amp;oldid=prev"/>
		<updated>2018-11-19T21:38:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Sarai Blanco Google Code-in, Introduction to Lua in Wikipedia&lt;br /&gt;
-- Sarai Blanco Google Code-in, Working with modules&lt;br /&gt;
&lt;br /&gt;
local p = {} &lt;br /&gt;
&lt;br /&gt;
function p.hello( frame )&lt;br /&gt;
    return &amp;quot;hello&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.Hi = function(frame)&lt;br /&gt;
	strName = frame.args.name or &amp;quot;Jimbo&amp;quot;&lt;br /&gt;
	return &amp;quot;Hello from Lua to my friend &amp;quot; .. strName .. &amp;quot;.&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.temperature = function(frame)&lt;br /&gt;
	cel = tonumber(frame.args.celsius) or 0&lt;br /&gt;
	fah = ((cel*9)/5)+32&lt;br /&gt;
	msg = cel .. &amp;quot; degrees Celsius is &amp;quot; .. fah .. &amp;quot; degrees Fahrenheit.&amp;quot;&lt;br /&gt;
	if cel&amp;gt;9 then msg=msg.. &amp;quot; It is warm.&amp;lt;br&amp;gt;&amp;quot; else msg=msg.. &amp;quot; It is cold.&amp;lt;br&amp;gt;&amp;quot; end&lt;br /&gt;
	return msg&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Task 4&lt;br /&gt;
&lt;br /&gt;
p.times = function(frame)&lt;br /&gt;
	local num = tonumber( frame.args.num ) or 2&lt;br /&gt;
	local out = num .. &amp;quot; times table&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	for i = 1, 12 do&lt;br /&gt;
		out = out .. num..&amp;quot; times &amp;quot;.. i .. &amp;quot; equals &amp;quot; ..(i * num) .. &amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.mum = function(frame)&lt;br /&gt;
	local family = {&amp;quot;Dad&amp;quot;, &amp;quot;Mum&amp;quot;, &amp;quot;Uncle Stan&amp;quot;, &amp;quot;Aunty Elsie&amp;quot;, &amp;quot;Brian&amp;quot;, &amp;quot;Sandra&amp;quot;, &amp;quot;Jhon&amp;quot;, &amp;quot;Sonia&amp;quot;}&lt;br /&gt;
	local msg = &amp;quot;&amp;quot;&lt;br /&gt;
	for i = 1, #family do&lt;br /&gt;
		msg = msg .. &amp;quot;Hello &amp;quot; .. family[i] .. &amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return msg&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.sentence = function(frame)&lt;br /&gt;
	local str = frame.args.words or &amp;quot;&amp;quot;&lt;br /&gt;
	local out = string.upper(string.sub(str, 1, 1))&lt;br /&gt;
	local out = out.. string.sub (str, 2)&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.unpackdate = function(frame)&lt;br /&gt;
	local dmydate = frame.args.dmydate or &amp;quot;&amp;quot;&lt;br /&gt;
	local day, month, year = string.match(dmydate, &amp;quot;(%d+) (%w+) (%d+)&amp;quot;)&lt;br /&gt;
	return &amp;quot;Year = &amp;quot; .. year .. &amp;quot;&amp;lt;br&amp;gt;Day = &amp;quot; .. day .. &amp;quot;&amp;lt;br&amp;gt;Month = &amp;quot; .. month&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.langnames = function(frame)&lt;br /&gt;
	local langlist = mw.language.fetchLanguageNames()&lt;br /&gt;
	local langs = &amp;quot;&amp;quot;&lt;br /&gt;
	local count = 0&lt;br /&gt;
	for k, v in pairs(langlist) do&lt;br /&gt;
		langs = langs .. k .. &amp;quot; - &amp;quot; .. v .. &amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
		count = count + 1&lt;br /&gt;
	end&lt;br /&gt;
	return langs .. &amp;quot;&amp;lt;br&amp;gt;= &amp;quot; .. count .. &amp;quot; languages&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.fallbacks = function(frame)&lt;br /&gt;
	local langcode = frame.args.langcode or &amp;quot;&amp;quot;&lt;br /&gt;
	local langlist = mw.language.getFallbacksFor( langcode )&lt;br /&gt;
	local langs = &amp;quot;&amp;quot;&lt;br /&gt;
	for k, v in pairs(langlist) do&lt;br /&gt;
		langs = langs .. k .. &amp;quot; - &amp;quot; .. v .. &amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return langs &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.pagename = function(frame)&lt;br /&gt;
	local ttl = frame.args.title&lt;br /&gt;
	local ttlobj = mw.title.new( ttl )&lt;br /&gt;
	local txt = ttlobj.text&lt;br /&gt;
	return txt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.pageinfo = function(frame)&lt;br /&gt;
	local ttl = frame.args.title or &amp;quot;&amp;quot;&lt;br /&gt;
	local ttlobj = mw.title.new( ttl ) or &amp;quot;&amp;quot;&lt;br /&gt;
	if ttlobj==&amp;quot;&amp;quot; then msg= &amp;quot;Invalid title&amp;quot; return msg end&lt;br /&gt;
	local txt = ttlobj.text&lt;br /&gt;
	if ttlobj.exists then txt=txt.. &amp;quot; exists and &amp;quot; else txt=txt.. &amp;quot; does not exist and &amp;quot;end&lt;br /&gt;
	if ttlobj.redirectTarget then txt=txt.. &amp;quot;is a redirect&amp;lt;br&amp;gt;&amp;quot; else txt=txt.. &amp;quot;is not a redirect&amp;lt;br&amp;gt;&amp;quot; end&lt;br /&gt;
	return txt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.otra=function(frame)&lt;br /&gt;
	local fecha=frame.args.ff or &amp;quot;&amp;quot;&lt;br /&gt;
	local tipo=frame.args.format or &amp;quot;&amp;quot;&lt;br /&gt;
	if fecha==&amp;quot;&amp;quot; then local msg=&amp;quot;Invalid entry&amp;quot; return msg.. &amp;quot;&amp;lt;br&amp;gt;&amp;quot; end&lt;br /&gt;
	local cir=0,ll ad=0 bc=0 bce=0 ce=0,lala&lt;br /&gt;
	lala=string.match(fecha,&amp;quot;BCE&amp;quot;)&lt;br /&gt;
	if lala then bce=1 &lt;br /&gt;
	else&lt;br /&gt;
		lala=string.match(fecha,&amp;quot;BC&amp;quot;)&lt;br /&gt;
	if lala then bc=1 end&lt;br /&gt;
	lala=string.match(fecha,&amp;quot;CE&amp;quot;)&lt;br /&gt;
	if lala then ce=1 end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	lala=string.match(fecha,&amp;quot;AD&amp;quot;)&lt;br /&gt;
	if lala then ad=1 end&lt;br /&gt;
&lt;br /&gt;
	ll=string.match(fecha,&amp;quot;uncertain&amp;quot;)&lt;br /&gt;
	if ll then cir=1 end&lt;br /&gt;
	ll=string.match(fecha,&amp;quot;around&amp;quot;)&lt;br /&gt;
	if ll then cir=1 end&lt;br /&gt;
	local mesesp = { &amp;quot;January&amp;quot;, &amp;quot;February&amp;quot;, &amp;quot;March&amp;quot;, &amp;quot;April&amp;quot;, &amp;quot;May&amp;quot;, &amp;quot;June&amp;quot;, &amp;quot;July&amp;quot;, &amp;quot;August&amp;quot;, &amp;quot;September&amp;quot;, &amp;quot;October&amp;quot;, &amp;quot;November&amp;quot;, &amp;quot;December&amp;quot; }&lt;br /&gt;
	local months = { &amp;quot;jan&amp;quot;, &amp;quot;Jan&amp;quot;, &amp;quot;feb&amp;quot;,&amp;quot;Feb&amp;quot;, &amp;quot;mar&amp;quot;,&amp;quot;Mar&amp;quot;, &amp;quot;apr&amp;quot;,&amp;quot;Apr&amp;quot;, &amp;quot;may&amp;quot;,&amp;quot;May&amp;quot;, &amp;quot;jun&amp;quot;,&amp;quot;Jun&amp;quot;,&amp;quot;jul&amp;quot;,&amp;quot;Jul&amp;quot; , &amp;quot;aug&amp;quot;,&amp;quot;Aug&amp;quot;, &amp;quot;sep&amp;quot;,&amp;quot;Sep&amp;quot;, &amp;quot;oct&amp;quot;,&amp;quot;Oct&amp;quot;, &amp;quot;nov&amp;quot;,&amp;quot;Nov&amp;quot;, &amp;quot;dec&amp;quot;,&amp;quot;Dec&amp;quot; }&lt;br /&gt;
	local fechademes = {31,0,31,30,31,30,31,31,30,31,30,31}&lt;br /&gt;
	local k=0,g modo=&amp;quot;&amp;quot;,kk&lt;br /&gt;
	for i=1, #months do&lt;br /&gt;
		g=string.find(fecha,months[i]) or 0&lt;br /&gt;
		if g~=0 then k=i kk=g end&lt;br /&gt;
	end&lt;br /&gt;
	local mes=0,mesl,anio,dia&lt;br /&gt;
	if k~=0 then&lt;br /&gt;
		&lt;br /&gt;
		if k%2==1 then mes=(k/2)+0.5 else mes=k/2 end&lt;br /&gt;
		if mes~=0 then mesl=mesesp[mes] else buscm=1 end&lt;br /&gt;
	end&lt;br /&gt;
	local reco=fecha num1=0 numeros={} hay=&amp;quot;&amp;quot;,pos pospala=kk,posnum1&lt;br /&gt;
	for i=1,4 do&lt;br /&gt;
	num1 = string.match(reco, &amp;quot;(%d+)&amp;quot;) or &amp;quot;&amp;quot;&lt;br /&gt;
	if i==1 then hay = string.match(reco, &amp;quot;(%w+)&amp;quot;) or &amp;quot;&amp;quot;&lt;br /&gt;
		posnum1=string.find(reco,num1) end&lt;br /&gt;
		if num1~=&amp;quot;&amp;quot; then&lt;br /&gt;
			pos=string.find(reco,num1)&lt;br /&gt;
			if string.len(num1)==1 then pos=pos+1 end&lt;br /&gt;
			if string.len(num1)==2 then pos=pos+2 end&lt;br /&gt;
			if string.len(num1)==3 then pos=pos+3 end&lt;br /&gt;
			if string.len(num1)==4 then pos=pos+4 end&lt;br /&gt;
			if string.len(num1)==5 then pos=pos+5 end&lt;br /&gt;
			reco=string.sub(reco,pos)&lt;br /&gt;
			table.insert(numeros,num1)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if mes==0  then&lt;br /&gt;
		if #numeros&amp;gt;1  then&lt;br /&gt;
			if #numeros==3 then &lt;br /&gt;
				for i=1,#numeros do&lt;br /&gt;
				numeros[i]=tonumber(numeros[i])&lt;br /&gt;
				end&lt;br /&gt;
		&lt;br /&gt;
				mes=numeros[2]&lt;br /&gt;
				modo=&amp;quot;iso&amp;quot;&lt;br /&gt;
				if numeros[1]&amp;lt;numeros[3] then&lt;br /&gt;
				dia=numeros[1]&lt;br /&gt;
				anio=numeros[3]&lt;br /&gt;
				else&lt;br /&gt;
				anio=numeros[1]&lt;br /&gt;
				dia=numeros[3]&lt;br /&gt;
				end&lt;br /&gt;
			&lt;br /&gt;
			else&lt;br /&gt;
				for i=1,#numeros do&lt;br /&gt;
				numeros[i]=tonumber(numeros[i])&lt;br /&gt;
				end&lt;br /&gt;
				if numeros[2]&amp;lt;100 then local msg=&amp;quot;Invalid entry&amp;quot; return msg..&amp;quot;&amp;lt;br&amp;gt;&amp;quot; end&lt;br /&gt;
				anio=numeros[2]&lt;br /&gt;
				modo=&amp;quot;year&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			if #numeros==1 then	anio=numeros[1]&lt;br /&gt;
			modo=&amp;quot;year&amp;quot;&lt;br /&gt;
			else local msg=&amp;quot;Invalid entry&amp;quot; return msg..&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else &lt;br /&gt;
		if #numeros==1 then&lt;br /&gt;
			if pospala&amp;lt;posnum1 then &lt;br /&gt;
			anio=numeros[1] &lt;br /&gt;
			dia=0&lt;br /&gt;
			modo=&amp;quot;month and year&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
			dia=numeros[1] &lt;br /&gt;
			anio=0&lt;br /&gt;
			modo=&amp;quot;month and year&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			if #numeros==2&lt;br /&gt;
			then dia=numeros[1]&lt;br /&gt;
				anio=numeros[2] &lt;br /&gt;
				if pospala&amp;lt;posnum1 then &lt;br /&gt;
				modo=&amp;quot;mdy&amp;quot;&lt;br /&gt;
				else modo=&amp;quot;dmy&amp;quot;&lt;br /&gt;
				end&lt;br /&gt;
			else local msg=&amp;quot;Invalid entry&amp;quot; return msg..&amp;quot;&amp;lt;br&amp;gt;&amp;quot; &lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	anio=tonumber(anio) or 0&lt;br /&gt;
	dia=tonumber(dia) or 0&lt;br /&gt;
	mes=tonumber(mes) or 0&lt;br /&gt;
	local anio2=anio&lt;br /&gt;
	if anio2&amp;lt;100 then anio2=anio2+2000 end&lt;br /&gt;
	if anio2 % 1000 == 0 then fechademes[2]=29&lt;br /&gt;
	else&lt;br /&gt;
		if anio2 % 100 == 0 then fechademes[2]=28 &lt;br /&gt;
		else&lt;br /&gt;
			if anio2% 4 == 0 then fechademes[2]=29 &lt;br /&gt;
			else fechademes[2]=28&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if mes~=0 and mes&amp;lt;13 and dia ~=0 and dia&amp;gt;fechademes[mes] then local msg=&amp;quot;Invalid entry&amp;quot; return msg..&amp;quot;&amp;lt;br&amp;gt;&amp;quot; end&lt;br /&gt;
	if mes&amp;gt;12 then local msg=&amp;quot;Invalid entry&amp;quot; return msg..&amp;quot;&amp;lt;br&amp;gt;&amp;quot; end&lt;br /&gt;
	local ss=&amp;quot;&amp;quot;&lt;br /&gt;
	if modo==&amp;quot;&amp;quot; then local msg=&amp;quot;Invalid entry&amp;quot; return msg..&amp;quot;&amp;lt;br&amp;gt;&amp;quot; end&lt;br /&gt;
	if tipo==&amp;quot;&amp;quot; then tipo=modo end&lt;br /&gt;
	if tipo==&amp;quot;dmy&amp;quot; then &lt;br /&gt;
	ss=dia..&amp;quot; &amp;quot;..mesesp[mes]..&amp;quot; &amp;quot;..anio&lt;br /&gt;
	end&lt;br /&gt;
	if tipo==&amp;quot;mdy&amp;quot; then &lt;br /&gt;
	ss=mesesp[mes]..&amp;quot; &amp;quot;..dia ..&amp;quot;, &amp;quot;..anio&lt;br /&gt;
	end&lt;br /&gt;
	if tipo==&amp;quot;iso&amp;quot; then &lt;br /&gt;
	if dia&amp;lt;10 then dia=&amp;quot;0&amp;quot;..dia end&lt;br /&gt;
	if mes&amp;lt;10 then mes=&amp;quot;0&amp;quot;..mes end&lt;br /&gt;
	ss=anio..&amp;quot;-&amp;quot;..mes..&amp;quot;-&amp;quot;..dia&lt;br /&gt;
	end&lt;br /&gt;
	if tipo==&amp;quot;year&amp;quot; then &lt;br /&gt;
	ss=anio&lt;br /&gt;
	end&lt;br /&gt;
	if tipo==&amp;quot;month and year&amp;quot; then &lt;br /&gt;
		if dia~=0 then ss=dia..&amp;quot; &amp;quot;..mesesp[mes]&lt;br /&gt;
		else ss=mesesp[mes]..&amp;quot; &amp;quot;..anio&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if cir==1 then ss=&amp;quot;circa &amp;quot;..ss end&lt;br /&gt;
	if ad==1 then ss=ss..&amp;quot; AD&amp;quot; end&lt;br /&gt;
	if bc==1 then ss=ss..&amp;quot; BC&amp;quot; end&lt;br /&gt;
	if bce==1 then ss=ss..&amp;quot; BCE&amp;quot; end&lt;br /&gt;
	if ce==1 then ss=ss..&amp;quot; CE&amp;quot; end&lt;br /&gt;
	ss=ss..&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	return ss&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Sarai Blanco</name></author>
	</entry>
</feed>