私は何かのベクトル、例えばA = Any[[1,2],[3,4]]
を持っています。次に、A
の要素に基づいてC::Vector{Any}
という新しい配列を作成したいのですが、実際にはA
を変更する必要はありません。 B = copy(A)
のコピーを作成しようとしましたが、B
の要素を変更してC
に追加すると、A
は変更されませんが、A
は変更されません。今度は深いコピーを使用するように依頼するかもしれませんが、私はまだの最初の要素をC
に追加した場合、の未変更要素をA
と同じにしたいと考えています。つまり、A[1] == C[1]
はtrue
です。変更を行う。 C
は、例えば、Any[[1,2],[3,4,5]]
とすることができる。元のベクトルを変更せずにユーザー定義型のベクトルを変更する方法は?
A
を一切変更せずにC
を作成するにはどうしたらいいですか?また、変更されていない要素が等しいことを確認してください。
わかりません。 'C = deepcopy(A)'を使うと、 'C'の未変更の要素は' A'の対応する要素と同じになります。たとえば、次のようになります。 'A = Any [[1,2]、[3,4]]; C = deepcopy(A); C [2] = [4,5]; A [1] == C [1] '< - は' true'を返します。 –
私はこの要求が自己矛盾しているように見えることに同意します。要素の変更を同じままにするかどうかを指定しますか?質問を明確にすることはできますか? – StefanKarpinski
申し訳ありませんが、私の質問が混乱していた場合。私は今働いている。お返事をありがとうございます! – Sapna