として複合型のフィールドを渡すと、私はそれではなく、オブジェクト全体のfield
に取ることができることをtestFunc2!
このような機能を作成する次の例ジュリア:引数
struct valueStruct
a::Vector{Float64}
a2::Vector{Float64}
end
values = valueStruct(ones(10), ones(10));
values2 = 1:10;
function testFunc!(values, values2)
values.a .= values.a .* values2;
end
を考えてみましょう。例:testFunc2!(values.a, values2)
。しかし、私はこのエラーが発生し続ける:
LoadError: LoadError: syntax: "values.a" is not a valid function argument name
。
私の実際のコードではtestFunc!
をループの中で再帰的に構造体values
に適用したいと思います。 testFunc!(values.a2, values.a)
。
function testFunc!(values, values2, n)
values.a .= values.a .* values2;
for i = 1:n
values.a2 .= values.a;
end
end
しかし、それは私が欲しいものではないことを私は知っています。実際のコードでは、型のフィールドに適用できるような柔軟な関数を用意する必要があります。それは可能ですか?