2012-01-18 5 views
0

내가 같은 사실을 가지고 말 : 나는 고양이가이 사실과 마우스에서 첫 번째 항은 "말하는 올바른 것, 누군가에게 이것을 설명하고 싶었다면프롤로그 - 사실에 대한 필요 정보

bigger(cat,mouse). 

두 번째 용어 "또는 고양이와 마우스를 원자라고 부르며"고양이가 사실의 첫 번째 원자이고 마우스가 두 번째 "라고 말합니다.

답변

1

첫 번째 설명은, 공정하다 '용어'재귀 데이터 구조 인 : 용어 중 하나 원자, 숫자 또는 구조체이며, 즉 어디 struct는 'name (arg1, arg2, ...)'이고 각 인수는 용어입니다.

두 번째 설명이 더 정확합니다 (제한적).

'답변'은 '구조화 된 용어로 위치를 식별 한 속성의 일반적인 이름 지정'입니다.

0

인수는 내가 생각하기에 완벽한 단어입니다. 여기

predicate/arity : predicate(arguments...) 
description of arguments 

이 같은 갈 것 :하지만 일반적으로 조건은 다음과 같은 형태로 사용하는 거라고 설명하는

bigger/2 : bigger(Bigger, Lesser) 
Holds if Bigger is bigger than Lesser. 

을 또한 그럴 수 인수의 모드 정확한 : + 입력, - 출력을 위해서? 두 경우 모두 (그리고 순수 입력의 경우 @), 필요한 경우 모드에 대한 자세한 정보를 얻으려면 this question에있는 @ false의 대답을 참조하십시오. 여기

은 전체 버전이 될 수있다 :

bigger/2 : bigger(?Bigger, ?Lesser) 
Holds if Bigger is bigger than Lesser. 
0

약간의 것들을 혼합하기 위해 biggercatmouse 사이의 이진 관계라고 말할 수 있습니다.