SWI-Prolog


 上個月突然看到Prolog這門語言,它特殊的語法吸引了我,但是經過我一段時間的學習,發現它也不像網絡上傳說的那樣神奇,不過我依然對它很感興趣,有前輩說Prolog本身並不強大,但是用來作為一門輔助語言解決一些特殊的問題還是很有效的,碰巧我是干C#的,就查了查怎樣把Prolog跟C#結合起來,但是我百度出來的資料實在只能用稀少來形容。沒辦法只能Google了,話說老D的hosts文件挺好用的。

  好在作為一名高級碼農我也會一點English,思考了半天終於把how to use Prolog 這幾個單詞打出來了,然后神奇的Google幫我給了幾個選項

讓我不禁感嘆,科技改變世界,代碼改變世界。

  雖然我英文書寫能力不強,但是閱讀能力還是可以的,找了幾篇帖子終於找到了幾種解決方案,比如P#,SWI-Prolog等等。。  

  經過幾番對比,最終我選了SWI,http://www.swi-prolog.org/ 這是它的官網,里面有算是比較全面的幫助文檔等等,然后又是一番折騰之后確定了需要的兩個文件,一個SWI-Prolog的安裝程序,還有一個DLL文件,這兩個文件都分為32位跟64位兩種,首先安裝SWI,然后創建一個控制台程序,引用SwiPlCs.dll。

  好了,准備工作做完了,接下來就開始編碼了,我參照官方給的例子寫了一段code,然后懷着激動的心情按下ctrl+f5 然而結果跟我想象中的並不一樣,like this

這是shenmegui?怎么跟說好的不一樣?我急忙上google查資料,果然,國外大神也有碰到這個問題的,官網也有關於這個錯誤的說明,機智的我依靠扎實的英語基礎加上瀏覽器的網頁翻譯功能終於理解了一大半,大概意思就是沒有配置環境變量,大概跟java是一個道理,於是我添加了SWI_HOME_DIR這個環境變量,然后繼續運行,當然,並沒有什么卵用,依然是上面的錯誤,接下來我試了數十種方法,換成32位的dll,裝一個win7的虛擬機加vs2010,裝xp的虛擬機加vs2010,各種方法都試了,結果依然是這樣,折騰了幾天我幾乎放棄了。

  碰巧今天晚上無聊,又google了一下關於這個的問題,突然在官網看到這個文檔http://www.swi-prolog.org/pack/file_details/swicli/doc/introduction-SbsSW.htm

里面說把bin目錄添加到PATH環境變量,我抱着試一試的心態在代碼中加上這一句 

Environment.SetEnvironmentVariable("PATH", @"C:\Program Files\swipl\bin");

 然后ctrl+f5,然后這個文章就結束了,媽的真的可以,折騰了這么久就是因為這個原因


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM