demo-init.lua - gsl-shell.git - gsl-shell

index : gsl-shell.git
gsl-shell
summary refs log tree commit diff
path: root/demo-init.lua
blob: 5948940e9d662a7459c8f3ba9e971a93491043e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

local demo_list = {}
local function load_demo(name)
 local record = require('demos/' .. name)
 local group, info = record[1], record[2]
 local section = demo_list[group]
 if not section then
 section = {}
 demo_list[group] = section
 end
 local i = #section
 for k, v in ipairs(info) do
 section[i+k] = v
 end
end
local demo_files = {
 'fft', 'bspline', 'wave-particle', 'plot', 'fractals', 'ode', 'nlinfit', 'integ', 'anim', 'linfit', 'contour', 'svg', 'graphics', 'sf', 'vegas', 'gdt-lm'}
for i, name in ipairs(demo_files) do
 load_demo(name)
end
local function print_demos_list()
 for group, t in pairs(demo_list) do
 io.write('*** ', group, '\n')
 for k, v in ipairs(t) do
 print(v.name .. ' - ' .. v.description)
 end
 print ''
 print("***************************************************")
 end
 print("Type demo(<name>) to execute the demo.")
 print("For example type demo(\"wave\") for wave particle demo.")
 print ''
end
local function load_demo(name)
 for group, t in pairs(demo_list) do
 for k, entry in ipairs(t) do
 if entry.name == name then
 return entry
 end
 end
 end
end
return {
 list = print_demos_list,
 load = load_demo,
}
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月11日 03:20:21 +0000

AltStyle によって変換されたページ (->オリジナル) /