在Julia中显示一个文本文件给REPL

时间:2018-10-12 22:33:01

标签: julia

在当前目录中给出一个文本文件“ hello.jl”:

" Example hello world program."
function hello()
    println("hello, world")
end

您如何将此显示给Julia 1.0.0 REPL?

这是我到目前为止所拥有的:

julia> disp(f) = for line in readlines(open(f)); println(line); end
disp (generic function with 1 method)

julia> disp("hello.jl")
" Example hello world program."
function hello()
        println("hello, world")
end

在Julia中是否有内置命令可以执行此操作?

3 个答案:

答案 0 :(得分:3)

在Linux中,您可以使用run函数并将其传递给Cmd参数,以运行cat系统命令。

键入分号;,以更改为 shell 模式:

shell> cat hello.jl
"Example hello world program."
function hello()
    println("hello, world")
end

使用run函数在Julia之外执行命令:

julia> run(`cat hello.jl`)  # Only works on Unix like systems.
"Example hello world program."
function hello()
    println("hello, world")
end
Process(`cat hello.jl`, ProcessExited(0))

在Windows中,type命令应类似于Unix cat

julia> show_file(path::AbstractString) = run(@static Sys.isunix() ? `cat $path` : `type $path`)
show_file (generic function with 1 method)

run返回Process对象:

julia> show_file("hello.jl")
"Example hello world program."
function hello()
    println("hello, world")
end
Process(`cat hello.jl`, ProcessExited(0))

在行的末尾使用分号;,以抑制REPL中的返回输出:

julia> show_file("hello.jl");  
"Example hello world program."
function hello()
    println("hello, world")
end

或者您可以根据需要在nothing的末尾返回show_file

答案 1 :(得分:2)

在朱莉娅REPL中,点击

;

进入REPL的内置shell模式,然后

shell> head path/to/my/filename

答案 2 :(得分:2)

println(String(read("hello.jl")))

"hello.jl" |> read |> String |> println