モジュール内の変数の生き方 | HotSoupProcessorの記録

HotSoupProcessorの記録

コンピューター言語 HotSoupProcessor の練習記録です

自作でちょっとしたものを作ろうと思うと、
関数とか、モジュール的なものを使いたくなるのですが
モジュールの中では、変数は流用されているのかなと思ってテストしてみました。

-----
  goto *Main

#module myMod
; 値の初期設定
#defcfunc local setValue int nValue
  a = nValue
  return a
; 足し算
#defcfunc local addValue int nValue
  a = a + nValue
  return a
#global


*Main
  ret = setValue@myMod(10)
  mes "return:" + ret

  ret = addValue@myMod(5)
  mes "return:" + ret

  mes "a:" + a
  
  stop
-----
この結果は、
  return:10
  return:15
  a:0
となりました。


つまり、どこで定義した変数も、クラス内のメンバ変数のような扱いということのようです。
生き続けて、他の関数からも見える。(addValue())

もちろん、外からは見えない。(最後のa)