freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

clips中文用戶手冊-文庫吧

2024-12-31 17:24 本頁面


【正文】 ) f2 (b) f3 (c) For a total of 2 facts. CLIPS(facts 1 2) f0 (initialfact) f1 (a) f2 (b) For a total of 2 facts. CLIPS(facts 1 3 2) f0 (initialfact) f1 (a) f2 (b) For a total of 2 facts. CLIPS 注意,僅用一個 (assert)便可以增加三個事實: (a),(b)和 (c)。最高索引為 3,通過 CLIPS 的信息消息 Fact3返回。也可以用每個命令增加一個事實的方式(那些這樣做的人也許是為了炫耀他們的打字速度)。 注:( facts)命令的完整語法為: (facts [start [end [maximum]]]),start表示顯示索引號大于等于 start的事實, end表示小于等于end的事實, maximum表示顯示在 start和 end之間最多 maximum個事 實。 敏感字段和詳解 事實 (duck)和 (quack)被稱之為單字段。一個字段就是一個占位符(命名或未命名),通常擁有一個值。一個簡單的類比,你可以將字段想像成一幅畫框,這個畫框能夠裝載一幅畫,也許畫中是你的寵物鴨(也許你會好奇怎樣用一幅畫表現(xiàn)“ quack” ,有兩個法子:( 1)是弄一個示波器來顯示一只鴨子說“ quack”的波形圖,信號的輸入來源于一個麥克風;( 2)對于那些有科學主義傾向的人,也許還得對“ quack”信號做一個傅立葉變換;( 3)電視里那些叫賣神奇的祛皺,減肥廣告。等等)。只有用 deftemplates 才叫做占位符,將在第五章中進行詳細的介紹。 注:這里的( 3)提到的電視廣告,意思是電視廣告里的廣告者會大呼小叫的對他們的產(chǎn)品爆發(fā)歡呼,聲音像鴨子叫一樣,諷刺幽默。 (duck)事實是一個單獨,未命名占位符的事實,值為 duck。下面有一個關(guān)于單字段事實的例子,一個字段即是一個值的占位符。類比想像一下字段,就像碟子 (字段 )盛食物 (值 )一樣的道理。 未命名字段的順序非常重要。舉例,如果一個事實被定義為: (Brian duck) 表示一個叫 Brian 的獵人射殺了一只鴨子,那么事實 : (duck Brian) 則表示鴨子獵手射殺了一個叫 Brian 的獵人。與之相比,命名字段的順序是不重要的,稍后你將在 deftemplate 中看到。 事實上,一個好的軟件工程應(yīng)該采用關(guān)系型表示法來表述字段,一個好的事實表示如下: (huntergame duck Brian) 表示第一個字段代表獵人,第二個字段代表游戲名稱。 現(xiàn)在,一些定義是必需的了。一個表是一組無內(nèi)在序列的項目集合。之所以稱一個表為有序的,意味著表中的位置是非常重要的。一個多字段是有序字段,每個字段都有一個值,特殊符號 nil 意思是無,通 常作為一個占位符用在空字段中。舉例如下: (duck nil) 可以表示獵人的捕鴨袋中今天一無所獲。 注意, nil 表示了一個占位符,雖然它沒有值。舉例,試想一個字段就是一個郵箱,沒有郵箱和郵箱中沒有信件是完全兩碼事。如果沒有 nil,這個事實就是一個單字段事實 (duck),如果一個規(guī)則依賴于兩字段激活,則該單字段事實不會被激活,稍后你會看到的。 這里有許多不同有效的字段類型: float, integer, symbol, string,externaladdress, factaddress, instancename 和 instanceaddress。這些字段類型用來存儲字段值的類型。未命名的字段中,值的類型由你的輸入決定。在 deftemplates 中,你可以顯式的聲明字段所包含值的類型。顯式的聲明加強了軟件工程的概念,是產(chǎn)生一個高效軟件的編程訓(xùn)練。 Symbol 是一類字段類型,該類型起始于一個可印刷的 ASCII 碼并被選擇性的加一個 0 或更多的可印刷字符。字段由空格或占位符被普通的分隔。舉例: (duckshot Brian Gary Rey) 有四個字段,指示了所有的殺鴨獵人。在這個事實中,字段 被空格分隔,并由圓括弧括起來。 事實中不能嵌入其他的事實。舉例,下面即是一個非法的事實: (duck (shot Brian Gary Rey)) 然而,如果“ shot”被當作一個字段名,上面的事實可能是一個合法的 deftemplate事實。后面的三個人名為該字段下的值。 CLIPS 區(qū)分大小寫。同樣, CLIPS 中特定的符號有特殊的意義。 ‘’ ( ) amp。 | ~ 。 ? $ “ amp?!?,“ |”和“~”不會獨立的使用或作為符號的任何部分。 一些字符的作用等同于分隔符以結(jié)束一個符號。下 面的字符的作用等同于分隔符號。 ? 所有的不可印刷的 ASCII 碼,包括空格,回車鍵,制表鍵和換行鍵。 ? 雙引號,“” ? 起始和結(jié)束圓括號,() ? amp。號 ? 豎線, | ? 小于, .這也是尖括號的一部分。 ? 波浪字符, ~ ? 分號,;指示一個注釋的開始,回車鍵結(jié)束 ? ?和 $?也許不能作為一個符號的開始,但是可以插入其中 分號在 CLIPS 的作用是指示一個注釋的開始,如果你試圖增 加一個分號, CLIPS 便會認為你在輸入一段注釋并等待你的完成。如果你在最高階層 (toplevel)中不經(jīng)意的輸入了一個分號,那么輸入一個圓括號的結(jié)束部分:)并回車。 CLIPS 會以一個錯誤消息響應(yīng)并提示給你(就像生活中的某些時候,你得做些錯誤的事情以使得某些事情正確)。 隨著你通讀這本手冊,你將會逐漸明白上面那些符號的意義。除了“ amp?!保?|”和“ ~”之外,你將使用其他的表示符號,然而,也許對于有些人,在讀程序和試圖理解程序運行機理時有些困惑。通常情況下,最好是避免使用這些符號來表示字符,除非你有更好的理由需 要用到它們。 下面是這些符號的一些例子: duck duck1 duck_soup ducksoup duck11_soupsoup d!?%^ 第二類類型的字段是 string。一個字符串必須用雙引號引起來,雙引號是字段的一部分。引號中可以有 0 個或多個字符。一些例子如下: “ duck” “ duck1” “ duck/soup” “ duck soup” “ duck soup is good!!!” ? 第三和第四種字段類型為數(shù)字型字段。該字段用來表示整型或浮點型字段。浮點型通常被簡化為 float。( floatpointfloat) CLIPS 中的數(shù)字均為“ long long”整型或雙精度浮點型。沒有小數(shù)點的數(shù)字即是整型,除非它們不屬于整型范圍。整型的范圍由數(shù)字的位數(shù)決定,N,用來表示整型如下所示: 2N1 ? 2N11 對于 64 位機器“ long long”整型,符合該范圍的數(shù)字為: 9, 223, 372, 036, 854, 775, 808 ? 9, 223, 372, 036, 854, 775,807 下面給出一些數(shù)字的例子,增加下面的數(shù)據(jù)到事實中,最后一個數(shù)字為指數(shù)表示法,用“ e”或“ E”代替乘以 10。 CLIPS(clear) CLIPS(facts) f0 (initialfact) For a total of 1 fact. CLIPS(assert (number 1)) Fact1 CLIPS(assert (x )) Fact2 CLIPS(assert (y 1)) Fact3 CLIPS(assert (z 65)) Fact4 CLIPS(assert (distance )) Fact5 CLIPS(assert (coordinates 1 2 3)) Fact6 CLIPS(assert (coordinates 1 3 2)) Fact7 CLIPS(facts) f0 (initialfact) f1 (number 1) f2 (x ) f3 (y 1) f4 (z 65) f5 (distance ) f6 (coordinates 1 2 3) f7 (coordinates 1 3 2) For a total of 8 facts. CLIPS 如你所見, CLIPS 將輸入的指數(shù)表示法轉(zhuǎn)換成數(shù)字 ,這是因為當數(shù)字足夠小,就會被從指數(shù)表示轉(zhuǎn)換到浮點型格式。 注意上面的每個數(shù)字前面都有一個符號開頭,如“ number”,“ x”,“ y”等。在 版本以前,允許僅一個數(shù)字的事實,然而,現(xiàn)在必需一個符號作為第一字段,同時, CLIPS 的一些專用字段不能用來作為第一字段,但是可以用來作為其他字段。舉個例子,專用關(guān)鍵字 not 用來指代否定模式,但是不能作為一個事實的第一字段。 一個事實由一個或多個被圓括弧括住的字段組成。為了簡單化,我們在前面七 章中將僅僅討論事實,但也有許多對模式匹配應(yīng)用于對象做了討論。例外的是,一些函數(shù)如 assert 和 retract 僅僅只能用于事實,而不能用于對象。對對象相應(yīng)的處理方法將會在第八到第十二章中討論。 一個事實可以是有序的,也可能是無序的。所有前面你已經(jīng)看到的事實都是有序事實,因為字段的順序決定了它們的不同。舉個例子,注意,CLIPS 會自動將包含相同數(shù)字“ 1” ,“ 2”和“ 3”的事實區(qū)分開。 f6 (coordinates 1 2 3) f7 (coordinates 1 3 2) 有序事實必須用字段對位于 其定義的數(shù)據(jù)。舉例說明,有序事實 (duck Brian)有兩個字段,同樣 (Brian duck)也有兩個字段,然而, CLIPS 將其看作兩個不同的事實,因為有序事實字段的值是不同的。相反,事實 (duckBrian)僅有一個字段,因為有一個“ ”符號將兩個值連結(jié)。 定義模板事實 (Deftemplate facts),稍后會做詳細的表述,它是無序的,因為它用命名字段來定義數(shù)據(jù)。這與在 C 和其他語言中應(yīng)用結(jié)構(gòu)體一樣。 多字段通常被由一個或多個的空格,制表,回車或表格組成的空白隔離開來。舉例說明,輸入下面的例子,你將 發(fā)現(xiàn)每個被存儲的事實都是一樣的。 CLIPS(clear) CLIPS(assert (The duck says “ Quack” )) Fact1 CLIPS(facts) f0 (initialfact) f1 (The duck says “ Quack” ) For a total of 2 facts. CLIPS(clear) CLIPS(assert (The duck says “ Quack” )) Fact1 CLIPS(facts) f0 (initialfact) f1 (The duck says “ Quack” ) For a total of 2 facts. CLIPS 回車的使用是為增加可讀性。在下面的例子中,每個字段后加一個回車,增加的事實與將字段都寫在一行的效果是一樣的。 CLIPS(clear) CLIPS(assert (The duck says “ Quack” )) Fact1 CLIPS(facts) f0 (initialfact) f1 (The duck says “ Quack” ) For a total of 2 facts. CLIPS 然而,當你在輸入一個字符串的時候,要注意插入回車后的效果,例子如下: CLIPS(assert (The duck says “ Quack ” )) Fact2 CLIPS(facts) f0 (initialfact) f1 (The duck says “ Quack” ) f2 (The duck says “ Quack ” ) For a total of 3 facts. CLIPS 如你所見,在雙引號中插入的回車在 字符串輸出中會將雙引號的后半部分移到下一行。 CLIPS 會認為 f1 與 f2 是兩個不同的事實,這一點很重要。 同樣,我們也注意到 CLIPS 會保存事實中字段里的大寫和小寫字母。也就是“ The”中的“ T”和“ Quack”中的“ Q”。 CLIPS 被認為是區(qū)分大小寫的,因為它將大寫和小寫字母區(qū)別對待。舉例說明,增加事實 (duck)和(Duck),然后調(diào)用 (facts)命令,你會發(fā)現(xiàn) CLIPS 增加了兩個不同的事實 (
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1