Main Content

matlab.lang.correction.ReplaceIdentifierCorrection クラス

名前空間: matlab.lang.correction

関数呼び出しで識別子を置き換えてエラーを修正

R2019b 以降

説明

ReplaceIdentifierCorrection オブジェクトは、MException オブジェクトをスローする関数で使用します。MException は、ReplaceIdentifierCorrection のインスタンスを使用して、関数呼び出し内の正しくない識別子に代わる候補を表示します。

作成

説明

ric = matlab.lang.correction.ReplaceIdentifierCorrection(identifier,replacement) は修正を作成して、MException オブジェクトをスローした関数呼び出しで identifierreplacement に置き換えるよう提案します。

入力引数

すべて展開する

関数呼び出し内の正しくない識別子。string スカラーまたは文字ベクトルとして指定します。identifier は有効な MATLAB® 識別子でなければなりません。有効な MATLAB 識別子は、英数字 (A ~ Z、a ~ z、0 ~ 9) とアンダースコアで構成される string スカラーまたは文字ベクトルであり、最初の文字は英字で、テキストの長さは namelengthmax 以下です。

関数呼び出しでの使用に推奨される識別子。string スカラーまたは文字ベクトルとして指定します。replacement は有効な MATLAB 識別子でなければなりません。

すべて折りたたむ

関数 walk および関数 sprint では、入力引数が、オーバーラップしない別々の範囲内の値をとる必要があります。これらのうちいずれかの関数が正しくない値で呼び出された場合に置換候補をエラー メッセージに追加するには、各関数に ReplaceIdentifierCorrection のインスタンスを含めます。

以下のコードを walk.m に保存することにより、関数 walk を作成します。

function walk(speed)
if speed > 6.5
    ric = matlab.lang.correction.ReplaceIdentifierCorrection('walk', 'sprint');
    error(ric, 'walk:maxSpeed', 'Cannot walk faster than 6.5 km/h.')
elseif speed <= 0
    error('walk:minSpeed', 'Speed must be greater than zero.')
end
fprintf('You are walking at a speed of %2.2f km/h.\n', speed)
end

以下のコードを sprint.m に保存することにより、関数 sprint を作成します。

function sprint(speed)
if speed <= 6.5
    ric = matlab.lang.correction.ReplaceIdentifierCorrection('sprint', 'walk');
    error(ric, 'sprint:minSpeed', 'Cannot sprint slower than 6.5 km/h.')
elseif speed > 20
    error('sprint:maxSpeed', 'Cannot sprint faster than 20 km/h.')
end
fprintf('You are sprinting at a speed of %2.2f km/h.\n', speed)
end

6.5 より大きい入力を指定して walk を呼び出します。

walk(10)
Error using walk (line 4)
Cannot walk faster than 6.5 km/h.

Did you mean:
>> sprint(10)

バージョン履歴

R2019b で導入

参考

関数

プロパティ