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

Content deleted Content added
testing again with sign
 
(5 intermediate revisions by the same user not shown)
Line 1:
-- For unit tests, see [[Module:Sandbox/Andy M. Wang/Sandbox/testcases]]
local p = {}
 
function p.hellolua_main(frame)
local s = frame.args[1]
return "Hello, world!"
}
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.speed_of_soundmain(frame)
return p.lua_main(frame:getParent())
local altitude = tonumber(frame.args[1]) -- args[0] is speed_of_sound
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
local sign = (altitude < 0) and -0.5 or 0.5
scale = math.floor(scale / 5000 + sign)
scale = math.min(60, math.max(-3, scale))
return mach_table[scale + 4] * 0.44704 .. '|' .. scale .. '|' .. sign .. '|' .. altitude -- mph converted to m/s
end