Zdravim,
pokusam sa vytvorit program s viacerymi modulmi, ale chyba sa vyskytla uz na zaciatku. Tento usek, ak ho spustim zbehne normalne:
Kód:
(deffacts volba_menu
(nactena_volba)
)
(defrule zobraz_menu
?x <- (nactena_volba)
=>
(retract ?x)
(printout t "-----------------<NABIDKA>------------------" crlf)
(printout t "Zobrazeni cele databaze ... a" crlf)
(printout t "Zadani kontinentu a zobrazeni zvirat ... b" crlf)
(printout t "Konec programu ... k" crlf)
(printout t "============================================" crlf)
(printout t "Zadejte svoji volbu:")
(bind ?volba (read))
(assert (moje_volba ?volba))
)
Ale ak ho rozdelim na moduly, tak nezbehne, ale ani nevypise ziadnu chybu.
Kód:
;MODUL MAIN
(defmodule MAIN
(export deftemplate initial-fact)
)
;MODUL MENU
(defmodule MENU
(import MAIN deftemplate initial-fact)
)
(deffacts MENU::volba_menu
(nactena_volba)
)
(defrule MENU::zobraz_menu
?x <- (nactena_volba)
=>
(retract ?x)
(printout t "-----------------<NABIDKA>------------------" crlf)
(printout t "Zobrazeni cele databaze ... a" crlf)
(printout t "Zadani kontinentu a zobrazeni zvirat ... b" crlf)
(printout t "Konec programu ... k" crlf)
(printout t "============================================" crlf)
(printout t "Zadejte svoji volbu:")
(bind ?volba (read))
(assert (moje_volba ?volba)))
Neviete, kde by mohla byt chyba? Pouzivam CLIPS 6.24.
// pridané po 18 minútach od posledného príspevkuOdpoviem si sam, stacilo trocha viac googlit
Kód:
;MODUL MAIN
(defmodule MAIN
(export deftemplate initial-fact)
)
(defrule MAIN::start
=>
(focus MENU)
)
;MODUL MENU
(defmodule MENU
(import MAIN deftemplate initial-fact)
)
(deffacts MENU::volba_menu
(nactena_volba)
)
(defrule MENU::zobraz_menu
?x <- (nactena_volba)
=>
(retract ?x)
(printout t "-----------------<NABIDKA>------------------" crlf)
(printout t "Zobrazeni cele databaze ... a" crlf)
(printout t "Zadani kontinentu a zobrazeni zvirat ... b" crlf)
(printout t "Konec programu ... k" crlf)
(printout t "============================================" crlf)
(printout t "Zadejte svoji volbu:")
(bind ?volba (read))
(assert (moje_volba ?volba)))