gsl-shell.git - gsl-shell

index : gsl-shell.git
gsl-shell
summary refs log tree commit diff
path: root/demo-init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'demo-init.lua')
-rw-r--r--demo-init.lua 46
1 files changed, 46 insertions, 0 deletions
diff --git a/demo-init.lua b/demo-init.lua
new file mode 100644
index 00000000..19881949
--- /dev/null
+++ b/demo-init.lua
@@ -0,0 +1,46 @@
+
+local demo_list = {}
+
+local function load_demo(name)
+ local group, info = dofile('demos/' .. name .. '.lua')
+ 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'}
+
+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.39.1) at 2025年09月15日 19:47:09 +0000

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