Mam następujące zapytanie:
?- make_time(odjazd(13:33),Wynik).
Chciałbym aby perdykat
make_time (czy jak to się tam zwie) zwrócił mi czas w minutach, czyli generalnie wykonał obliczenie:
13*60+33. Problem w tym, że nie wiem jak wydobyć godzinę i minuty ze struktury przy takim wywołaniu, jakie podałem. Help? :)
/edit:
Upraszczając sprawy - mam fakt:
czas(odjazd(10:15)).
Do tego faktu mogę dać zapytanie:
?- czas(odjazd(Wynik)).
W wyniku tego działania otrzymam:
Wynik = 10:15.
Wynik jest poprawny, jednak ja chcę uzyskać czas za pomocą perdykatu, tj. zadając pytanie:
?- dajCzas(odjazd(10:15),Wynik).
Próbowałem np. tak:
dajCzas(Odjazd,Wynik) :- Wynik = odjazd(Odjazd).
Wynik niestety jest daleki od tego co chcę uzyskać, tj.
Wynik = odjazd(odjazd(10:15)).
Jak się uda to osiągnąć to potem dopiero chcę powalczyć z wykonaniem obliczeń...
/edit2:
Pierwszy level osiągnięty:
dajCzas(Odjazd,Wynik) :- odjazd(Wynik) = Odjazd.
Zapytanie:
?- dajCzas(odjazd(10:15),Wynik).
Wynik:
Wynik = 10:15.
Drugi poziom to jak wykonać na tym obliczenia?