特性関数を対話的に切り替える

また,CalcTrajectoryでエラーが出ている.⇒処理本体を関数化したため,変数が見えなくなっている.変数をトップスコープに移した.

PNGファイルの保存パスが存在しないというエラーになる.

png(“.\\PNG\\” * titleName())

現在の作業フォルダが蜜天GUIになっているためではないか?その下のmittenを開くようにした方がよい.⇒このフォルダは事前に作っておく必要がある.あるいは,むしろデスクトップに生成するようにした方が分かり易いかもしれないが…⇒これは後から考えることにして,とりあえずフォルダを作っておこう.

一応一通り動くようになった.⇒InfinitePoolGameをモジュール化したらまた動かなくなってしまった.isinteractiveをisinteractive()に変えたためだ.isinteractiveは変数ではないので,これまでそれが通っていたことの方がおかしいのだが,デバッガで走らせることはinteractiveには入らないのだろう.REPLからinclude(“src\\InfinitePoolGame.jl”)では想定通りの動作,つまり,isinteractiveはtrueになる.定数を切って切り分けるしかなさそうだ.技術的にかなり難しい問題が出てきた.

ようやく元のように動くようになった.特性関数を動的に切り替えるというのが目下の課題だ.julia には eval という関数があるのでなんとかなるのではないかと思っているのだが… まず,関数ポインタのようなものがあるかどうかを探さなくてはならない.⇒プロットを表示するのは以外と簡単にできた.

include(“InfinitePoolGame.jl”)

でInfinitePoolGame内の関数にアクセスできる.とりあえずは,これで十分だ.本当はimporないしusingでロードしたいのだが,まだパッケージになっていないためロードできない.includeは実行時に何回でも実行できるので,最悪の場合(他に打つ手がない場合)は,InfinitePoolGame.jlを直接書き換えて再ロードするということが考えられる.多分,これは不可能ではないと思われる.juliaは正規表現をサポートしているので,ソースファイルの書き換えはできるはずだ.一度ここでバックアップを取っておこう.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA