這道習(xí)題幾乎沒有代碼內(nèi)容,它的主要目的是讓你在計(jì)算機(jī)上安裝好Prolog。你應(yīng)該盡量照著說明進(jìn)行操作。
當(dāng)你安裝好Prolog以后,進(jìn)入命令終端,輸入:
swipl
你應(yīng)當(dāng)看見下圖:?
我相信使用Linux系統(tǒng)的朋友應(yīng)該都懂得如何安裝一個(gè)小小的軟件吧?所以在這里就不贅述了~
好像在大部分的程序語言的時(shí)候,第一個(gè)要編寫的程序都是“Hello World!”。雖然“Hello World”程序不能顯示出Prolog的特性,我在這里也姑且做一個(gè)“Hello World!”的程序吧,目的是讓大家試一下你們剛才下載的SWI-Prolog是否工作。
按照之前的方法進(jìn)入SWI-Prolog,在命令行下輸入:
writeln('Hello World!').
需要注意的是,這行代碼一定要以英文中的句號(hào)”.”來結(jié)尾,Prolog中的“.”和C語言中的“;”一樣,都是代表一段代碼的結(jié)尾。再者,Hello World!字符串一定要以單引號(hào)來包裹。 如果輸入正確的話,你將看到如下輸出:
Hello World!
true.
這里的“Hello World!”很好理解,這是我們要求程序輸出的,那么那個(gè)奇怪的“true”是哪里來的呢?請(qǐng)注意,在Prolog終端輸入的時(shí)候,沒一個(gè)語句都是以“?-”這樣兩個(gè)字符開頭的,它代表我們輸入的程序代碼其實(shí)是對(duì)Prolog系統(tǒng)的一個(gè)查詢(問詢),一旦用戶輸入了查詢,Prolog系統(tǒng)會(huì)運(yùn)用它的知識(shí)庫來判定這個(gè)查詢是真(true)是假(false). writeln是Prolog系統(tǒng)自己定義的一個(gè)語句, 它的作用是向當(dāng)前的顯示設(shè)備輸出一個(gè)字符串并且換行, 所以很顯然, 這個(gè)語句是真的, 因?yàn)镻rolog知道有這個(gè)語句. 這就是為什么程序的最后有一個(gè)”true”. 有意思的是,因?yàn)檎麄€(gè)過程中Prolog都是在試圖證明這個(gè)語句是真是假, 向屏幕輸出”Hello World!”這件事實(shí)際上是執(zhí)行這個(gè)語句的”副作用”(side effect)!在Prolog中, 很多任務(wù)都是靠副作用來實(shí)現(xiàn)的, 包括輸入輸出, 甚至是參數(shù)的傳遞.
最后,如果想要退出SWI-Prolog,輸入:
halt.
同樣,不要忘記最后的“.”~
好了, 到這里, 這一章就算是結(jié)束, 因?yàn)檫@一章講的內(nèi)容很基本, 我就不提供習(xí)題了. 下一章我們將正式開始學(xué)習(xí)有關(guān)Prolog語言的知識(shí)! 敬請(qǐng)期待!
更多建議: