<?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%2FTakidelfin</id>
	<title>Module:Sandbox/Takidelfin - 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%2FTakidelfin"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Takidelfin&amp;action=history"/>
	<updated>2026-08-02T08:33:53Z</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/Takidelfin&amp;diff=146271&amp;oldid=prev</id>
		<title>imported&gt;Takidelfin at 21:48, 19 November 2018</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Takidelfin&amp;diff=146271&amp;oldid=prev"/>
		<updated>2018-11-19T21:48:33Z</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;-- takidelfin Google Code-in, Introduction to Lua in Wikipedia&lt;br /&gt;
-- takidelfin Google Code-in, Working with modules&lt;br /&gt;
local p = {}&lt;br /&gt;
-- Task 1&lt;br /&gt;
&lt;br /&gt;
function p.hello( frame )&lt;br /&gt;
    return &amp;quot;Hello, &amp;#039;&amp;#039;no semicolon&amp;#039;&amp;#039; world!&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Task 2&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 module to &amp;quot; .. strName .. &amp;quot;.&amp;lt;br/&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Task 3&lt;br /&gt;
function p.temperature ( frame )&lt;br /&gt;
	cel = tonumber(frame.args.celsius) or 0&lt;br /&gt;
	fah = cel * 9 / 5 + 32&lt;br /&gt;
	-- return cel .. &amp;quot;°C is &amp;quot; .. fah .. &amp;quot;°F&amp;quot; -- Just testing UTF-8 Character displaying in Lua&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&lt;br /&gt;
		msg = msg .. &amp;quot;It is warm.&amp;quot;&lt;br /&gt;
		return msg&lt;br /&gt;
	end&lt;br /&gt;
	return msg .. &amp;quot;It is cold.&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Task 4&lt;br /&gt;
function p.times ( frame )&lt;br /&gt;
	local num = tonumber( frame.args.num ) or 2&lt;br /&gt;
	-- Auto closing br tag avoids errors in HTML&lt;br /&gt;
	-- &amp;#039;Do it in such a way that the heading will always show the number of the times table passed as the parameter.&amp;#039; &lt;br /&gt;
	-- ^ if I understand this properly, I need to display a paramater disregarding of it type.&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;
function p.mum ( 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;Grandma&amp;quot;, &amp;quot;Grandpa&amp;quot;, &amp;quot;Jack Sparrow&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;
-- Task 5&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)) .. 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;
-- Task 6&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;#039;en&amp;#039;&lt;br /&gt;
	local fallbacks = mw.language.getFallbacksFor( langcode )&lt;br /&gt;
	local fallbackLangs = &amp;quot;Fallback languages for &amp;quot; .. langcode .. &amp;quot;&amp;lt;br/&amp;gt;&amp;quot;&lt;br /&gt;
	for key, value in pairs(fallbacks) do&lt;br /&gt;
		fallbackLangs = fallbackLangs .. &amp;quot;* &amp;quot; .. value .. &amp;quot;&amp;lt;/br&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return fallbackLangs .. &amp;quot;&amp;lt;br/&amp;gt; Found &amp;quot; .. #fallbacks .. &amp;quot; fallback languages for &amp;quot; .. langcode .. &amp;quot;&amp;lt;br/&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Finds language codes with more than two fallbacks or given argument. I&amp;#039;m too lazy to search for them manually&lt;br /&gt;
p.findMoreFallbacks = function(frame)&lt;br /&gt;
	local moreThan = tonumber(frame.args.more) or 2&lt;br /&gt;
	local langlist = mw.language.fetchLanguageNames()&lt;br /&gt;
	local langs = &amp;quot;&amp;quot;&lt;br /&gt;
	for k, v in pairs(langlist) do&lt;br /&gt;
		local fallbacks = mw.language.getFallbacksFor( k )&lt;br /&gt;
		if #fallbacks &amp;gt; moreThan then&lt;br /&gt;
			langs = langs .. k .. &amp;quot;&amp;lt;br/&amp;gt;&amp;quot;&lt;br /&gt;
		end&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&lt;br /&gt;
	local ttlobj = mw.title.new( ttl )&lt;br /&gt;
	&lt;br /&gt;
	if ttl == nil then&lt;br /&gt;
		return &amp;quot;Page title parameter is mandatory&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if ttl == &amp;quot;&amp;quot; then&lt;br /&gt;
		return &amp;quot;Empty value is not a valid page title&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if ttlobj == nil then&lt;br /&gt;
		return ttl .. &amp;quot; is not a vaild page title&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local msg = ttl .. &amp;quot; &amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	-- Maybe there is a better way to check existency of the page like using nil checks?&lt;br /&gt;
	if ttlobj.exists then&lt;br /&gt;
		msg = msg .. &amp;quot;exists and &amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		msg = msg .. &amp;quot;does not exist and &amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Maybe I should use false check for ttlobj.redirectTarget ?&lt;br /&gt;
	if ttlobj.isRedirect then&lt;br /&gt;
		return msg .. &amp;quot;is a redirect&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return msg .. &amp;quot;is not a redirect&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Takidelfin</name></author>
	</entry>
</feed>