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