프로그램에서 결과를 포맷하려고하는데 어려움을 겪고 있습니다. 프롤로그 용어 연결
나는 결과로이 같은 것을주고 싶어 :Res = do(paint(x) do(clean(a), do(repair(b) , initialState)))
기본적으로, 나는에 연속적인 측면을 연결하려는 초기 상태 (Initial) 원자하지만, 그것은 다른 용어가 아니다 연결할 수 있기 때문에 atom_concat 작동하지 않습니다 원자도 추가하고 싶었습니다.) "do"함수를 통과 할 때마다).
그래서 다음과 같이됩니다. Res = initialState.
함수가 호출 할
, 나는concatenateTerm(Pred, Res, Res).
Pred를 가산 같은 함수 (b)는 예를 들어 수리 beeing는이 있고 결과 얻을 것입니다 : res = do(repair(b),
초기 상태 (Initial)를).
이 작업을 수행 할 수 있습니까?
감사
아마도 당신을 이해하지 못 하겠지만, 나는 당신이'concatenateTerm (Pred, Res, ResNext)'라고 가정합니다. 이 경우 그것을'concatenateTerm (A, B, do (A, B)) '로 정의하십시오. – ony
하지만 concatenateterm wouldnt 결과로 내 입술을 제공합니다. Temp = Res를 수행하고 Temp와 Pred를 연결하고 Res에 결과를 제공하는 concatenateTerm (Pred, Temp, Res)을 호출 할 수 있습니다. 그러나 atomic 이외의 조건으로 실패하기 때문에 atom_concat과 함께 작동하지 않습니다. 또한 마지막에 the)를 추가하지 않을 것입니다. – d0pe
더 복잡한 용어를 사용하여 복잡한 용어를 구축하고 싶습니까? –