小编Nat*_*ate的帖子

有没有办法在 Julia 中显示没有用“;”抑制的每一行代码?,就像在 MATLAB 中一样?

假设我正在运行 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)

先感谢您。

terminal matlab julia visual-studio-code

3
推荐指数
1
解决办法
166
查看次数

我可以通过名称访问结构体,例如 A = field1,获取 struct.A 吗?

这是我在 Julia 中寻找的伪代码实现:

struct Example
    field1::Float64
    field2::Float64
end # End struct 

example = Example(1., 2.)

function modifystruct(mystruct, fieldname)
    mystruct.fieldname +=10
    return mystruct
end 

modifystruct(example, field1)
# In this instance I would want to have example.field1 = 11.
Run Code Online (Sandbox Code Playgroud)

我实际上该怎么做?我想提供类似字符串的字段名,并让我的 struct."whateverfieldname" 得到这样的修改。我应该补充一点,我不想编写这样的代码:

function modifystruct(mystruct, fieldname)
    if fieldname = "fieldname1"
        mystruct.field1 +=10 
    end
    if fieldname = "fieldname2" 
        mystruct.field2 +=10
    end 
    return mystruct
end 
Run Code Online (Sandbox Code Playgroud)

很大程度上是因为我希望这段代码具有多用途性。我的程序可能使用不同类型的结构,因此我可以通过字段名称直接访问的结构越接近越好。有没有任何方法或实现可以为我做到这一点?

struct julia

2
推荐指数
1
解决办法
556
查看次数

标签 统计

julia ×2

matlab ×1

struct ×1

terminal ×1

visual-studio-code ×1