1

DDMathParser を使用して、iOS 用の電卓を作成しています。3+3*4 (After parsing add(3,multiply(3,4)))式 (NSString)を個々のステップに分割する方法を知りたいです: multiply(3,4) add(3,12). これらを NSArray またはその他の比較的便利なリスト オブジェクトで取得することをお勧めします。

  • Example: add(3,multiply(3,4))
  • [1] multiply(3,4)
  • [2] add(3,12)
  • [3] 15
4

1 に答える 1

0

DDMathParser の作成者はこちら。

これはかなり簡単なはずです。パーサーは、数値評価だけでなく、適切な形式の式ツリーを返すことができます。式ツリーを使用すると、次のようになります。

  1. ツリーで最も深い式を見つけます。これが最初に評価されることです。
  2. その式を手動で評価する
  3. 元の式の代わりに評価をツリーに戻します
  4. この時点で見たものを参照するために、ツリー全体のコピーを作成します。
  5. 評価するものがなくなるまで繰り返します。
于 2016-01-19T16:38:11.330 に答える