2
我有一個散列Class::Struct
,我如何克隆它(深層複製)? Class::Struct
不提供clone
或copy
方法並手動複製Class::Struct
的內部將是困難的。如何克隆一個Class :: Struct?
my %a =();
$a{k} = MyStruct->new;
my %b = ... ?
我有一個散列Class::Struct
,我如何克隆它(深層複製)? Class::Struct
不提供clone
或copy
方法並手動複製Class::Struct
的內部將是困難的。如何克隆一個Class :: Struct?
my %a =();
$a{k} = MyStruct->new;
my %b = ... ?
的Storable
模塊提供了一個dclone
功能即能深副本的散列和Class::Struct
內容。
use Storable qw/dclone/;
my %a =();
$a{k} = MyStruct->new;
my %b = %{dclone(\%a)};
雖然此代碼段可以解決的問題,[包括一個解釋](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高質量您的帖子。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! – kayess