Portál AbcLinuxu, 9. května 2025 23:23

Dotaz: Jak v prologu definovat predikaty?

5.11.2007 21:51 pica
Jak v prologu definovat predikaty?
Přečteno: 1132×
Odpovědět | Admin
Jak muzu definovat v prologu predikat? Mam gnu prolog 1.3.0-1, ktery spoustim prikazem 'pl'. Ve vsech tutorialech cpou krasne atomy do predikatu a pak ukazujou jak jim to hezky jede, ale nikde sem se nedozvedel jak ten jazyk definovat. Po spusteni 'pl' na me vyskoci konzole "?- ", ktera mi umoznuje spousteni dotazu, ale unika mi jak mam definovat ten svuj jazyk. Neni treba gnu prolog odlisny od "nejakeho jineho" prologu?
> pl
Welcome to SWI-Prolog (Multi-threaded, Version 5.6.41)
Copyright (c) 1990-2007 University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

?- pica(X).
ERROR: toplevel: Undefined procedure: pica/1 (DWIM could not correct goal)
?- pica(X) :- blbekouka(X).
ERROR: toplevel: Undefined procedure: ( :- )/2 (DWIM could not correct goal)
?- 
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.11.2007 21:56 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Jak v prologu definovat predikaty?
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nějak nevidím souvislost s Linuxem, ale predikáty se (obvykle) umístí do samostatného souboru a poté se načtou příkazem consult('název-soubor') a v programu se provádí už jenom dotazy nad takto načtenou databází...

I am always ready to learn although I do not always like to be taught. (W. Churchill)
5.11.2007 22:18 Martin Doucha | skóre: 23 | blog: Yet another blog
Rozbalit Rozbalit vše Re: Jak v prologu definovat predikaty?
Tak nějakou souvislost vyrobíme :) SWI Prolog umí spouštět soubory jako plnohodnotné skripty.
#!/usr/bin/pl -s
Případně si uprav cestu k programu, parametr -s je nutný.
michich avatar 5.11.2007 22:14 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Jak v prologu definovat predikaty?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mimochodem nevím, proč si myslíš, že používáš GNU Prolog, když tohle je evidentně SWI Prolog.
menphis avatar 5.11.2007 22:40 menphis | skóre: 22 | blog: menphis_blog
Rozbalit Rozbalit vše Re: Jak v prologu definovat predikaty?
Odpovědět | | Sbalit | Link | Blokovat | Admin
no predikaty se umistuji do samostatneho souboru, takze ve tvem pripade si vyrob soubor pica.pl do kteroh napises:

pica(X). pica(X):-blbekouka(X).

tento soubor pak nactes v prologu prikazem ['pica.pl'].

nebo jak uz tu nekdo psal primo pri spusteni pl -s pica.pl

jinak pro zacatek je celkom dobry projit si tohle skripta
22.1.2008 18:55 gorgo | skóre: 11 | blog: denicek
Rozbalit Rozbalit vše Re: Jak v prologu definovat predikaty?
Odpovědět | | Sbalit | Link | Blokovat | Admin
sice otazka primo s linuxem nesouvisi, ale udelalo mi hroznou radost, kdyz jsem hledal totez, ze jsem odpoved nasel prave tady=) diky!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.