私はDDMathParser
数式を解析して結果を計算するために使用していますが、これはうまく機能します。
質問:
変数が置換辞書に存在しない場合、変数をデフォルト値に設定することは可能ですか?
例:
私の式にはと$a + $b
の 2 つの変数が必要です。ただし、私の置換辞書には、変数 key (たとえば 1) の値のみが含まれていますが、 key は含まれていません。$a
$b
a
b
変数b
を0
デフォルト値として定義し、解析エラー メッセージを回避するには、どのような方法が望ましいでしょう"unable to resolve variable"
か?
ありがとうございました!
編集
私が使用している方法DDMathParser
は、複数の数式をループし、各数式に同じ変数置換辞書を提供することです。変数の値がない場合もあります。この場合、変数 (キーと値) は辞書に含まれません。
nil
式自体によっては、変数の 1 つが存在しない場合、式の結果として返したいと思います (たとえば、値がなくprofit
、式がである場合、に変換できる$profit / $revenue
ものを返したいです)変数が辞書に存在しない場合 (たとえば、 のような式の場合、欠落している変数 ( 、または)を想定したいと思います) に変数を設定します。nil
NSString
n/a
0
$profitA + $profitB + $profitC
0
$profitA
$profitB
$profitC
このため、常に0
orを返す一般的なソリューションを使用することはできませんnil
が、このロジックを数式に入れる必要があります (たとえば、カスタム関数として)。