2012-10-04 26 views
0

我需要用B/A將序言中的術語A/B替換掉。序言中的交換功能

A和B是變量(可以是一個數字,大寫字母或小寫字母)

我的意思是,什麼是對的斜線右側應在左側,反之亦然。

實例:
A/10應該是10/A
9/3應該是3/9
5/B應當B/5

我希望這是清楚的。謝謝。

+1

你忘了問一個問題。 –

+0

對不起,我認爲這是顯而易見的,但我的問題是如何做到這一點在Prolog ... – John

回答

3

很簡單:

swap(X/Y, Y/X). 

或者可以使用統一的 '內聯',這裏的樣品:

?- forall(member(A, [a/3, b/6]), (A=X/Y, B=Y/X, writeln(B))). 
3/a 
6/b 
true. 
+0

非常感謝,這真的很有幫助! – John