0
連想配列をコピーする方法はありますか?私は、通常の配列のような1つのライナーで簡単にコピーすることができることを実現:ksh結合配列のコピー方法は?
set -A NEW_ARRAY $(echo ${OTHER_ARRAY[*]})
しかし、連想配列でそうすることが、ちょうどそのように、あなたに値を与えます。
私は約nameref
を知っていますが、元の配列に影響を与えないように配列をコピーする方法があるかどうかを知りたいと思っています。
なぜだけではなく、 'NEW_ARRAY [ "$キー"] =" $ {OTHER_ARRAY [$キー] } "' '代入のために、typesetと見栄えがよく見えます。いずれにせよ、私は+ =あなたが期待どおりに動作するとは思わない。これもテストする時間がない。 @ニトロダスト幸運! – shellter
あなたの答えを編集して、それを行う正しい方法を含めてください。 '+ ='は連想配列の割り当てで有効な構文ではありません。 @shelter - あなたのメソッドは動作します。ありがとう! – Nitrodist
お寄せください。 '+ ='に関して、私はksh93にアクセスすることはできませんが、[ksh93マニュアル](http://www2.research.att.com/sw/download/man/man1/ksh-man.html#Variable% "さらに、+の代わりに+ =を使用して、前の値に追加または追加することを示すことができます...複合割り当ての場合、前の値は設定されておらず、新しい値タイプが互換性があるならば、現在のものに追加されます。 –