#module AA dummy #modfunc update return #global #module BB dummy #modfunc update return #global newmod mod_a,AA newmod mod_b,BB list.0 = mod_a list.1 = mod_b foreach list update(list(cnt)) loop
こういう事をやろうとすると、違うモジュール内でも同名の関数は作れないようで symbol in use のエラーが出てしまいます。
gotoやgosubを使わずに上手くやる方法があったら教えてください。
また、そもそもモジュールはこういう用途で使うものではないのかもしれないと思いました。
だとしたら本来はどういう用途で使う物なんでしょうか?
モジュールAA型の変数が複数ある時にforeachで一度に……というのはわかるんですが、そうではなく
↑のソースを訂正すると↓になりますよね。
#module AA dummy #modfunc update_a return #global #module BB dummy #modfunc update_b return #global newmod mod_a,AA newmod mod_b,BB update_a(mod_a) update_b(mod_b)
このupdate_aにmod_aを、update_bにmod_bを渡すのが冗長に思えました。そこで
などを試してみたところエラーは出ず、モジュール変数名が一致していればしっかりと機能する事がわかりました。
update_a(mod_a) update_a(mod_b) update_b(mod_a) update_b(mod_b)
しかしこれは具体的にはどのように活用できるのでしょうか?
そもそもこういった利用の仕方でいいんでしょうか?
よろしくお願いします。