나는 프롤로그 프로그래머들에게 매우 간단한 질문을 가지고있다. 이 과정은 매우 쉬워야하지만 그 언어에 대한 경험이 없으므로 도움을 받으십시오. Prolog에서 간단한 프로그래밍 언어를 해석하려고합니다. 이 언어에서는 간단한 변수와 배열 변수라는 두 가지 유형의 변수를 사용할 수 있습니다.컷없이 PROLOG에서 랩핑 된 변수를 패턴 화하는 방법은 무엇입니까?
%calc(+var, +state, -result)
변수 일 수 있습니다 array(ident, index)
등 x
또는 배열 변수 같은 간단한 변수 : I는 해당 변수의 값을 계산하는 기능을 갖는다. 필자는 Prolog에서이 함수를 어떻게 써야할지 모르겠다. 그래서 정규 변수와 배열 변수에 대해 다른 일을한다.
calc(array(Ident,I), S, R) :- calculating R for array var, !.
calc(Ident, S, R) :- calculating R for regular var.
이 작동하지만 더 좋은 방법이있을 :이 같은 것을 마련했습니다.
훨씬 더 좋은 방법이 있는지에 관해서는 여기에 자세히 나와 있지 않지만, 당신이 가지고있는 것은 합리적인 것처럼 보입니다. 칼을 제거하지 않으려면 다음과 같이하면됩니다 : calc (Ident, S, R) : - (Ident = array (Id, I) -> calc_array (Id, I, S, R) R)'또는 이와 비슷한 것 – lurker
고마워요! 예, 나는 상처를 피하려고했는데,이 일을하는 좋은 방법처럼 보입니다. –