如何在prolog中连接字符串和数字?

时间:2012-03-23 10:03:10

标签: prolog concatenation

让我们说Expr = 1+2.并且我想在括号中使用Expr,我该怎么做以实现这种统一?

NewExpr = (1+2).

如何从旧版NewExpr中删除Expr

(ps:如果你有兴趣 - 我正在做中缀转换的前缀)

1 个答案:

答案 0 :(得分:1)

好吧,如果你操纵术语,问题是1 + 2等同于(1 + 2)。所以你猜我找不到一个好的解决方案。

但是,这不应该打扰你,因为如果你把Expr放到一个更复杂的术语中,那么括号确实会相应地添加。

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

如果您不了解=../2运算符,可以阅读更多相关信息here