author | Francesco Abbate <francesco.bbt@gmail.com> | 2011年06月24日 16:00:23 +0200 |
---|---|---|
committer | Francesco Abbate <francesco.bbt@gmail.com> | 2011年06月24日 16:00:23 +0200 |
commit | d2419b0c98687cf38bb7b45c013db2ea97ef69af (patch) | |
tree | 294afec338dcb3fdbe3d36c61a9f3cd5149c21c7 /demo-init.lua | |
parent | 1f924b19d76a5ebb2eecad14ebf5a167ddf50807 (diff) | |
download | gsl-shell-d2419b0c98687cf38bb7b45c013db2ea97ef69af.tar.gz |
-rw-r--r-- | demo-init.lua | 46 |
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, +} |