私はProlog(SWI-Prolog、具体的には)の極限な初心者ですが、現在の平日の取得には苦労しています。現在の年、月、日の数字をうまく取得できました。私はちょうどコンソールでcurrentDate(Today)
を実行すると関数から日付(Y、M、D)を取り出すことができません
currentDate(Today) :-
get_time(Stamp),
stamp_date_time(Stamp,DateTime,local),
date_time_value(date,DateTime,Today).
currentWeekday(Wday) :- day_of_the_week(currentDate(_Today), Wday).
、私はだから私は私の知る限りdate()
オブジェクト(または何でもあなたはそれを呼び出す)を取得しています
Today = date(2016, 11, 30).
を取得します。
currentWeekday(Wday) :- day_of_the_week(currentDate(_Today), Wday).
あなたはcurrentDate(_Today)
が値を返すかのようにプロローグが命令型言語と同じように動作することを予想している:私は、コンソールでcurrentWeekday(W)
を実行しようとする。しかし、それだけでfalse.
あなたは 'currentWeekday(w)'または 'currentWeekday(W)'を実行しようとしていますか? – Enigmativity
currentWeekday(W)< - 大文字。それをキャッチするためにありがとう。私は説明を編集しました。 – UnworthyToast
コードはうまく動作します。 '? - currentDate(W).'は' W = date(2016、12、1) 'を返します。 – Enigmativity