第1章:配置開發(fā)環(huán)境

2018-02-24 16:03 更新

這道習(xí)題幾乎沒有代碼內(nèi)容,它的主要目的是讓你在計(jì)算機(jī)上安裝好Prolog。你應(yīng)該盡量照著說明進(jìn)行操作。

安裝SWI-Prolog

MacOS

  1. 找一個(gè)你最喜歡的文本編輯器。在Mac系統(tǒng)下,TextMate也許是最好的選擇,但是它是需要花錢購買的,如果你不想買的話,可以使用一些免費(fèi)的文本編輯器比如Kod。需要注意的是,這寫編輯器本身都是不支持Prolog代碼高亮的,如果你想要這個(gè)功能,你需要下載針對(duì)這些文本編輯器的插件,其中TextMate的插件可以在這里下載到TextMate Bundle
  2. 下載SWI-Prolog,請(qǐng)選擇適合你系統(tǒng)版本的鏈接。下載解壓之后雙擊安裝包,等待一段時(shí)間以后,你的Prolog就安裝好了。SWI-Prolog是Prolog的一個(gè)實(shí)現(xiàn),作者是來自阿姆斯特丹大學(xué)的Jan,之所以選擇這個(gè)Prolog實(shí)現(xiàn)作為開發(fā)的環(huán)境,一個(gè)原因是因?yàn)樗芊€(wěn)定,運(yùn)行速度也算是可以,更重要的原因是它的開發(fā)文檔寫的很詳細(xì)。這個(gè)Prolog的實(shí)現(xiàn)不是功能最多的,但是我個(gè)人認(rèn)為是最好用的,也是最適合Prolog的初學(xué)者使用。
  3. 當(dāng)你安裝好Prolog以后,進(jìn)入命令終端,輸入:

    swipl

    你應(yīng)當(dāng)看見下圖:?
    2015-08-05/55c1d9de34515

Windows

  1. 第一步同樣是找一個(gè)自己喜歡的文本編輯器,個(gè)人推薦Notepad++,你可以輕易的在Google上搜尋到下載地址。
  2. 下載SWI-Prolog,選擇Windows的安裝包,下載解壓之后雙擊安裝包,等待一段時(shí)間以后,你的Prolog就安裝好了。
  3. 與MacOS不同的是,在Windows下,你可以不必去命令行下面輸入”swipl”,你可以直接雙擊桌面上的快捷方式就可以打開SWI-Prolog了。打開以后的界面應(yīng)該和MacOS下的界面類似。

Linux

我相信使用Linux系統(tǒng)的朋友應(yīng)該都懂得如何安裝一個(gè)小小的軟件吧?所以在這里就不贅述了~

Hello World!

好像在大部分的程序語言的時(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)期待!

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)