Difference between revisions of "Module:Sandbox/Andy M. Wang/Sandbox/sandbox"

From blackwiki
Jump to navigation Jump to search
blackwiki>Andy M. Wang
(got it)
m (21 revisions imported)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
-- For unit tests, see [[Module:Sandbox/Andy M. Wang/Sandbox/testcases]]
 
 
local p = {}
 
local p = {}
  
function p.hello()
+
function p.lua_main(frame)
return "Hello, world!"
+
local s = frame.args[1]
 +
 +
if frame.args[3] then
 +
local args = {}
 +
 +
for i, v in ipairs(frame.args) do
 +
if i >= 2 then
 +
args[#args+1] = v
 +
end
 +
end
 +
 +
args['style'] = 'display: inline'
 +
args['list_style'] = 'display: inline'
 +
args['item1_style'] = 'display: inline'
 +
 +
h = mw.html.create('div')
 +
h:wikitext(s)
 +
h:tag('br')  -- h:newline() is not working for some reason
 +
h:wikitext('by')
 +
h:wikitext(frame:expandTemplate{ title = 'Unbulleted list', args = args })
 +
 +
return h
 +
elseif frame.args[2] then
 +
s = s .. '<br />by ' .. frame.args[2]
 +
return s
 +
end
 +
 +
return s
 
end
 
end
  
function p.speed_of_sound(frame)
+
function p.main(frame)
local altitude = tonumber(frame.args[1]) -- args[0] is speed_of_sound
+
return p.lua_main(frame:getParent())
local mach_table = {                                                      -- scale =
 
799.5, 787.0, 774.2, 761.207051,                                      -- -3 to  0
 
748.0, 734.6, 721.0, 707.0, 692.8, 678.3, 663.5, 660.1, 660.1, 660.1,  --  1 to 10
 
660.1, 660.1, 660.1, 662.0, 664.3, 666.5, 668.9, 671.1, 673.4, 675.6,  -- 11 to 20
 
677.9, 683.7, 689.9, 696.0, 702.1, 708.1, 714.0, 719.9, 725.8, 731.6,  -- 21 to 30
 
737.3, 737.7, 737.7, 736.2, 730.5, 724.6, 718.8, 712.9, 707.0, 701.1,  -- 31 to 40
 
695.0, 688.9, 682.8, 676.6, 670.4, 664.1, 657.8, 652.9, 648.3, 643.7,  -- 41 to 50
 
639.1, 634.4, 629.6, 624.8, 620.0, 615.2, 613.2, 613.2, 613.2, 613.5,  -- 51 to 60
 
}
 
altitude = altitude or 0
 
scale = math.min(60, math.max(-3,
 
math.floor(altitude / 5000 + ((altitude < 0) and 0.4998 or 0.5))))
 
return mach_table[scale + 4] * 0.44704 .. '|' .. scale .. '|' .. altitude -- mph converted to m/s
 
 
end
 
end
  
 
return p
 
return p

Latest revision as of 09:20, 27 September 2020

Documentation for this module may be created at Module:Sandbox/Andy M. Wang/Sandbox/sandbox/doc

local p = {}

function p.lua_main(frame)
	local s = frame.args[1]
	
	if frame.args[3] then
		local args = {}
		
		for i, v in ipairs(frame.args) do
			if i >= 2 then
				args[#args+1] = v
			end
		end
		
		args['style'] = 'display: inline'
		args['list_style'] = 'display: inline'
		args['item1_style'] = 'display: inline'
		
		h = mw.html.create('div')
		h:wikitext(s)
		h:tag('br')  -- h:newline() is not working for some reason
		h:wikitext('by')
		h:wikitext(frame:expandTemplate{ title = 'Unbulleted list', args = args })
		
		return h
	elseif frame.args[2] then
		s = s .. '<br />by ' .. frame.args[2]
		return s
	end
	
	return s
end

function p.main(frame)
	return p.lua_main(frame:getParent())
end

return p