0
你好:)我在節目中的其中3個元素列表謂語一些困難 - [話務員,Val_A,Val_B],它給我操作的結果。例如:序言 - 遞歸計算
?-calc([*,3,2],Res).
Res=6
但在同一時間Val_A或Val_B可與同一個表單列表,它應該給結果:
?-calc([*,[+,2,4],5],Res).
Res=30 ----->([*,6,5]=30)
?-calc([+,[+,2,[-,4,3]],[*,2,4]],Res).
Res=11 ----->([+,[+,2,1],8]=[+,3,8]=11)
我已經有謂語計算操作數字2之間:
operate(Op,[H|T],Res):-
Op == + -> Res is H+T;
Op == - -> Res is H-T;
Op == * -> Res is H*T;
Op ==/-> Res is H/T.
,我已經能夠爲2號做這個「計算」斷言,但對於更復雜的列表我不能。你可以幫幫我嗎?
'calc'如你問題的開頭所示,有2個參數;但在你的代碼中,它有3. –
抱歉是一個錯誤,我已經糾正它。 –