2017-07-07 35 views
1

に引数を渡す引数をinclude("file.jl")に渡すことが可能かどうか疑問に思っていました。たとえば、file.jlのARGSを解析し、そこで使用します。引数を渡すことによってコマンドラインで行うのと同様です。Julia: `include(" file.jl ")`

+1

私は正確に何を達成しようとしているのですか? –

+0

モジュール内で 'include(" .... ")'を使っていくつかのファイルを実行していますが、それらにはいくつかの引数が必要です。例えば理想的には、意味的に 'include(" file1.jl "、arg1、arg2)'と 'file1.jl'はこれらの' arg1'と 'arg2'を使います。例えば、これらの引数の値が 'include()'を呼び出すモジュールの内部で生成されたとします。 –

+0

言い換えれば、コマンドライン引数を渡す以外に、別のファイル/モジュールのファイルに引数を渡す方法がありますか? –

答えて

3

を再割り当てしてfile.jlを受け取ったと思うのですが、それは引数が機能すると思っていますが、警告につながります(Base.ARGSを上書きするため)。より良い方法は、を使用して、file.jlARGSを使用する前に、異なるパラメータのソースを確認することです。

例えば、ファイルmain.jlは次のようになります

newARGS = String["adios","amigos"] 
include("file.jl") 

file.jlは次のようになります。今

localARGS = isdefined(:newARGS) ? newARGS : ARGS 
@show localARGS 

:これはまた、介在物のいくつかのレベルを介してより深い通信可能

$ julia file.jl hello world 
localARGS = String["hello","world"] 

$ julia main.jl 
localARGS = String["adios","amigos"]