Input Julia传递参数,读取命令行

Input Julia传递参数,读取命令行,input,julia,Input,Julia,我试图提示.jl文件的用户输入用户输入的多个目标 基本上,我需要用户提供一个输入&一个输出。我知道在java中,在命令行中编译时,您会使用扫描程序,或者接受参数。两种选择我都同意。通过查看Julia文档,我发现我可以完成将变量赋值给readline函数的第一种方法 (String)in = (String)Readline(STDIN) 据我所知,变量“in”现在应该包含用户输入的字符串。在编译.jl代码时,我遇到了一个错误,因为我的命令提示符没有停止读取用户输入,而只是完成了.jl代码的读取

我试图提示.jl文件的用户输入用户输入的多个目标

基本上,我需要用户提供一个输入&一个输出。我知道在java中,在命令行中编译时,您会使用扫描程序,或者接受参数。两种选择我都同意。通过查看Julia文档,我发现我可以完成将变量赋值给readline函数的第一种方法

(String)in = (String)Readline(STDIN)

据我所知,变量“in”现在应该包含用户输入的字符串。在编译.jl代码时,我遇到了一个错误,因为我的命令提示符没有停止读取用户输入,而只是完成了.jl代码的读取

在搜索和测试之后,我找到了一个解决方案,并决定在这里回复它。我必须声明自己的函数才能让程序接受用户输入

function input(prompt::AbstractString="")
    print(prompt)
    return chomp(readline())
end
我不确定chomp函数的作用,但我知道它能满足我的要求。我仍然很好奇您是否可以在Julia中执行类似于java和C字符串args[]的操作,即在告诉命令运行时传递额外信息。类似下面的内容

Julia testFile.jl goHere.txt lookHere.txt

问题代码中需要注意的第一项是:

(String)in = (String)Readline(STDIN)
Julia 1.0.0现在使用
stdin
而不是
stdin

接下来,
(字符串)
类型转换不是您在Julia中需要或想要做的事情

因此,您的代码可以读取(尽管我们得到一个错误):

因此中的变量
中的基.in变量冲突。只需使用另一个变量名

julia> response = readline(stdin)
This is a test.
"This is a test"
此代码现在正在工作,但没有提示。您的答案提供了一个示例输入函数,其中包含一个提示,定义如下:

julia> function input(prompt::AbstractString="")
           print(prompt)
           return chomp(readline())
       end
input (generic function with 2 methods) 
println("Arguments passed to ", PROGRAM_FILE, ":")
for arg in ARGS
    println(arg)
end
chomp
函数从输入字符串中删除单个尾随的
\n
换行符。医生

此处函数的使用示例:

julia> input_file = input("Please enter input file name: ")
Please enter input file name: Data.txt
"Data.txt"

julia> output_file = input("Please enter output file name: ")
Please enter output file name: Output.txt
"Output.txt"
命令行参数方法

如前所述,要打印出给定给脚本的参数,可以执行以下操作:

julia> function input(prompt::AbstractString="")
           print(prompt)
           return chomp(readline())
       end
input (generic function with 2 methods) 
println("Arguments passed to ", PROGRAM_FILE, ":")
for arg in ARGS
    println(arg)
end
下面是在Windows命令行上运行的上述代码的示例:

c:\OS_Prompt>julia PrintArgs.jl Data.txt Output1.txt Output2.txt Output3.txt
Arguments passed to PrintArgs.jl:
Data.txt
Output1.txt
Output2.txt
Output3.txt

你也可以打印出脚本文件名,如Primalgs.jl。j/.p/>在朱丽亚中有一个<代码> ARGs<代码>,并有一个关于如何使用它的简明例子。“诺亚上面是否充分回答了你的问题?”诺亚如果上面回答了你的问题,你可以考虑通过点击复选标记来接受它。请注意,您将获得非常高的声誉分数2,我也将获得非常高的声誉分数15。