実行時に評価する必要があるさまざまな数式があります。現在、シンボルは同等の値に置換され、結果はeval
になります。ジュリア・ラングのモジュールの定義を参照して、今すぐ実行時にユーザーモジュールを作成する方法は?
を(既存のシンボリックパッケージによって行うことができる):彼らは 新しいグローバルスコープを導入すなわちジュリアで
モジュールは、別々の変数のワークスペースです。 ...あなたのコード が他の誰かと一緒に使用されているとき、モジュールは名前の競合を心配することなくトップレベルの定義(別名 グローバル変数)を作成することを可能にします。
とメタ物事を行うにはジュリアのパワーと、
実行時m=Module()
で匿名のモジュールを作成し、表現eval(m, :(a+b))
を評価するためのスコープとしてそれらを使用することが可能である場合、私は思ったんだけど。
しかし、変数をランタイムモジュールにロードする方法を見つけることができません。 私は結果を得ることができますが:私は匿名のモジュールを使用して、より機能的な方法を好む
julia> ex=:(module mo; a=1; b=4; end)
julia> eval(ex)
julia> eval(mo,:(a+b))
。
ヘルプ。