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: 560873729975de825bd60537cd51561b324ba1cf (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

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'}
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
 echo('*** ', group)
 for k, v in ipairs(t) do
	 echo(v.name .. ' - ' .. v.description)
 end
 echo ''
 end
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月16日 10:34:48 +0000

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