Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

eval

説明

eval(expression) は、expression の MATLAB® コードを評価します。

メモ

セキュリティについての考慮事項: 信頼されていないユーザー入力を使用して eval を呼び出す場合は、予期しないコード実行を回避するために入力を検証してください。信頼されていないユーザー入力の例としては、知らないユーザーからのデータや制御できないソースからのデータが挙げられます。この懸念事項に対処しなければならない場合は、以下の方法を検討してください。

  • eval への入力を検証します。まず、実行可能な演算を検索します。その他の演算が見つかった場合は、実行を許可しないようにします。

  • eval を別のものに置き換えます。詳細については、関数 eval の代替方法を参照してください。

パフォーマンスについての考慮事項: ほとんどの場合、関数 eval を使用すると、他の MATLAB 関数や言語構成を使用するよりも効率も下がり、結果のコードは読み取りやデバッグが困難になる可能性があります。eval の代替手段の使用を検討してください。

[output1,...,outputN] = eval(expression) は、expression からの出力を指定された変数で返します。

すべて折りたたむ

eval を使用して式 magic(5) を評価し、プロットします。

Z = eval('magic(5)');
mesh(Z)

入力引数

すべて折りたたむ

評価する式。文字ベクトルまたは string スカラーとして指定します。expression は有効な MATLAB 式でなければならず、MATLAB キーワードを含めることはできません。単語が MATLAB キーワードかどうかを確認するには、関数 iskeyword を使用します。

例: eval('magic(5)')

出力引数

すべて折りたたむ

評価される式からの出力。MATLAB データ型として返されます。

制限

  • 無名関数、入れ子関数、または入れ子関数を含む関数内で eval を使用した場合、評価された expression は変数を作成しません。

ヒント

  • MATLAB パーサーでコードに対して厳しいチェックを行い、把握できないエラーやその他の予期しない動作を防ぐために、関数 eval への入力に出力引数を含めないでください。たとえば、ステートメント eval(['output = ',expression]) は推奨されません。

    代わりに、関数 eval の出力引数を指定して、評価された式の結果を保存します。以下に例を示します。

      output = eval(expression)

互換性についての考慮事項

すべて展開する

R2021a での動作変更

R2006a より前に導入