Nat*_*ate 3 terminal matlab julia visual-studio-code
假设我正在运行 Julia 脚本。我希望每一行代码都像在 MATLAB 中一样显示在终端中。有什么方法可以做到这一点吗?对我来说,为我想在终端中看到的每个变量编写 display(...) 很笨重,尤其是当我想快速检查我的工作时。
例如,假设我有以下代码:
a = [1; 0; 0]
b = [0; 1; 0]
c = [0; 0; 1]
a * transpose(a)
b * transpose(b)
c * transpose(c)
Run Code Online (Sandbox Code Playgroud)
我希望所有六行都自动显示在终端中,而不必编写:
a = [1; 0; 0]
b = [0; 1; 0]
c = [0; 0; 1]
display(a)
display(b)
display(c)
display(a * transpose(a))
display(b * transpose(b))
display(c * transpose(c))
Run Code Online (Sandbox Code Playgroud)
先感谢您。
处理这个问题的一种方法是编写自己的宏:
\nmacro displayall(code)\n for i in eachindex(code.args)\n typeof(code.args[i]) == LineNumberNode && continue\n code.args[i] = quote\n display($(esc(code.args[i])));\n end\n end\n return code\nend\nRun Code Online (Sandbox Code Playgroud)\n现在您可以使用它,例如:
\njulia> @displayall begin\n a = [1; 0; 0]\n b = [0; 1; 0]\n c = [0; 0; 1]\n a * transpose(a)\n b * transpose(b)\n c * transpose(c)\n end\n3-element Vector{Int64}:\n 1\n 0\n 0\n3-element Vector{Int64}:\n 0\n 1\n 0\n3-element Vector{Int64}:\n 0\n 0\n 1\n3\xc3\x973 Matrix{Int64}:\n 1 0 0\n 0 0 0\n 0 0 0\n3\xc3\x973 Matrix{Int64}:\n 0 0 0\n 0 1 0\n 0 0 0\n3\xc3\x973 Matrix{Int64}:\n 0 0 0\n 0 0 0\n 0 0 1\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
166 次 |
| 最近记录: |