グローバルワークスペ​ースのグローバル変数​をローカルワークスペ​ースに移動させること​は出来ますか?

8 vues (au cours des 30 derniers jours)
MathWorks Support Team
MathWorks Support Team le 12 Mai 2017
グローバルワークスペースのグローバル変数をローカルワークスペースに移動させ、そこで継続的に使用することの可否を教えてください。
 

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 12 Mai 2017
実現する機能は提供されておりませんが、以下のような関数を作成することにより可能です。
 
function moveToLocal( str )
% MOVETOLOCAL Move a variable form the global to the local workspace
% str should be the name of the variable that is already in the global workspace
% that you wish to move to the local workspace of the calling function.
% The variable will still exist in the global workspace but in the local
% workspace of the calling function the variable will be scoped locally
eval(['global ' str]) % グローバル変数をローカル変数内に定義します。
k=eval(str); % グローバルワークスペースの変数を取得します。 
evalin( 'caller', ['clear ' str]); % 呼び出し側のワークスペースから値をクリヤします。 
assignin( 'caller', str, k); % 呼び出し側のローカル変数に値を代入します。
 

Plus de réponses (0)

Catégories

En savoir plus sur 変数 dans Help Center et File Exchange

Produits


Version

R2007a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!