2012-03-23 23 views
0

とすれば、Expr = 1+2.となりますが、これは括弧内にExprとしたいのですが、この統一をするにはどうすればよいですか?私は古いExprからこのNewExprを作ることができますどのようにプロローグで文字列と数字を連結する方法は?

NewExpr = (1+2). 

(PS:あなたが興味を持っている場合 - 私は中置の変換に接頭辞をやってる)

答えて

1

あなたが条件を操作する場合さて、問題は1 + 2(1 + 2)と同等であるということです。だからあなたは私が推測する良い解決策を見つけることはできません。

これは、あなたがもっと複​​雑な用語にExprを入れると、それに応じてかっこが実際に追加されるためです。

?- Expr = 1 + 2, ComplicatedExpr =.. [+, 1, Expr]. 
Expr = 1+2, 
ComplicatedExpr = 1+ (1+2). 

あなたが=../2オペレータがわからない場合、あなたはそれhereについての詳細を読むことができます。

関連する問題