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

10 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 12 May 2017
グローバルワークスペースのグローバル変数をローカルワークスペースに移動させ、そこで継続的に使用することの可否を教えてください。
 

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 12 May 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); % 呼び出し側のローカル変数に値を代入します。
 

More Answers (0)

Categories

Find more on 変数 in Help Center and File Exchange

Products


Release

R2007a

Community Treasure Hunt

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

Start Hunting!