2

私はDDMathParser数式を解析して結果を計算するために使用していますが、これはうまく機能します。

質問:

変数が置換辞書に存在しない場合、変数をデフォルト値に設定することは可能ですか?

例:

私の式にはと$a + $bの 2 つの変数が必要です。ただし、私の置換辞書には、変数 key (たとえば 1) の値のみが含まれていますが、 key は含まれていません。$a$bab

変数b0デフォルト値として定義し、解析エラー メッセージを回避するには、どのような方法が望ましいでしょう"unable to resolve variable"か?

ありがとうございました!

編集

私が使用している方法DDMathParserは、複数の数式をループし、各数式に同じ変数置換辞書を提供することです。変数の値がない場合もあります。この場合、変数 (キーと値) は辞書に含まれません。

nil式自体によっては、変数の 1 つが存在しない場合、式の結果として返したいと思います (たとえば、値がなくprofit、式がである場合、に変換できる$profit / $revenueものを返したいです)変数が辞書に存在しない場合 (たとえば、 のような式の場合、欠落している変数 ( 、または)を想定したいと思います) に変数を設定します。nilNSStringn/a0$profitA + $profitB + $profitC0$profitA$profitB$profitC

このため、常に0orを返す一般的なソリューションを使用することはできませんnilが、このロジックを数式に入れる必要があります (たとえば、カスタム関数として)。

4

2 に答える 2

3

最初に適切なデフォルト値で置換辞書を初期化し、次に実際の値で更新します。

于 2013-01-18T15:42:06.690 に答える