diff options
author | Nicholas Leonard <nick@nikopia.org> | 2015-02-06 21:22:01 +0300 |
---|---|---|
committer | Nicholas Leonard <nick@nikopia.org> | 2015-02-06 21:22:01 +0300 |
commit | 87ad85bc6ff3e1505ccbd505c6ccb0c0f1b9a112 (patch) | |
tree | 77f8e9fc2597d8846cae03191e42411cbffedef5 /Module.lua | |
parent | 307532ab58a46c5b560a723418a1ab8ede9167fd (diff) |
Module:listModules()
Diffstat (limited to 'Module.lua')
-rw-r--r-- | Module.lua | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -287,3 +287,27 @@ function Module:findModules(typename, container) return nodes, containers end +-- returns a list of modules +function Module:listModules() + local function tinsert(to, from) + if torch.type(from) == 'table' then + for i=1,#from do + tinsert(to,from[i]) + end + else + table.insert(to,from) + end + end + -- include self first + local modules = {self} + if self.modules then + for i=1,#self.modules do + local modulas = self.modules[i]:listModules() + if modulas then + tinsert(modules,modulas) + end + end + end + return modules +end + |