CLIPSÖÐÎÄÊÖ²á ÏÂÔر¾ÎÄ

(hunter-game duck Brian)

±íʾµÚÒ»¸ö×ֶδú±íÁÔÈË£¬µÚ¶þ¸ö×ֶδú±íÓÎÏ·Ãû³Æ¡£

ÏÖÔÚ£¬Ò»Ð©¶¨ÒåÊDZØÐèµÄÁË¡£Ò»¸ö±íÊÇÒ»×éÎÞÄÚÔÚÐòÁеÄÏîÄ¿¼¯ºÏ¡£Ö®ËùÒÔ³ÆÒ»¸ö±íΪÓÐÐòµÄ£¬Òâζ×űíÖеÄλÖÃÊǷdz£ÖØÒªµÄ¡£Ò»¸ö¶à×Ö¶ÎÊÇÓÐÐò×ֶΣ¬Ã¿¸ö×ֶζ¼ÓÐÒ»¸öÖµ£¬ÌØÊâ·ûºÅnilÒâ˼ÊÇÎÞ£¬Í¨³£×÷Ϊһ¸öռλ·ûÓÃÔÚ¿Õ×Ö¶ÎÖС£¾ÙÀýÈçÏ£º

(duck nil)

¿ÉÒÔ±íʾÁÔÈ˵IJ¶Ñ¼´üÖнñÌìÒ»ÎÞËù»ñ¡£

×¢Ò⣬nil±íʾÁËÒ»¸öռλ·û£¬ËäÈ»ËüûÓÐÖµ¡£¾ÙÀý£¬ÊÔÏëÒ»¸ö×ֶξÍÊÇÒ»¸öÓÊÏ䣬ûÓÐÓÊÏäºÍÓÊÏäÖÐûÓÐÐżþÊÇÍêÈ«Á½ÂëÊ¡£Èç¹ûûÓÐnil£¬Õâ¸öÊÂʵ¾ÍÊÇÒ»¸öµ¥×Ö¶ÎÊÂʵ(duck),Èç¹ûÒ»¸ö¹æÔòÒÀÀµÓÚÁ½×ֶμ¤»î£¬Ôò¸Ãµ¥×Ö¶ÎÊÂʵ²»»á±»¼¤»î£¬ÉÔºóÄã»á¿´µ½µÄ¡£

ÕâÀïÓÐÐí¶à²»Í¬ÓÐЧµÄ×Ö¶ÎÀàÐÍ£ºfloat£¬integer£¬symbol£¬string£¬external-address£¬fact-address£¬instance-nameºÍinstance-address¡£ÕâЩ×Ö¶ÎÀàÐÍÓÃÀ´´æ´¢×Ö¶ÎÖµµÄÀàÐÍ¡£Î´ÃüÃûµÄ×Ö¶ÎÖУ¬ÖµµÄÀàÐÍÓÉÄãµÄÊäÈë¾ö¶¨¡£ÔÚdeftemplatesÖУ¬Äã¿ÉÒÔÏÔʽµÄÉùÃ÷×Ö¶ÎËù°üº¬ÖµµÄÀàÐÍ¡£ÏÔʽµÄÉùÃ÷¼ÓÇ¿ÁËÈí¼þ¹¤³ÌµÄ¸ÅÄÊDzúÉúÒ»¸ö¸ßЧÈí¼þµÄ±à³ÌѵÁ·¡£

SymbolÊÇÒ»Àà×Ö¶ÎÀàÐÍ£¬¸ÃÀàÐÍÆðʼÓÚÒ»¸ö¿ÉÓ¡Ë¢µÄASCIIÂë²¢±»Ñ¡ÔñÐԵļÓÒ»¸ö0»ò¸ü¶àµÄ¿ÉÓ¡Ë¢×Ö·û¡£×Ö¶ÎÓÉ¿Õ¸ñ»òռλ·û±»ÆÕͨµÄ·Ö¸ô¡£¾ÙÀý£º

(duck-shot Brian Gary Rey)

ÓÐËĸö×ֶΣ¬Ö¸Ê¾ÁËËùÓеÄɱѼÁÔÈË¡£ÔÚÕâ¸öÊÂʵÖУ¬×ֶα»¿Õ¸ñ·Ö¸ô£¬²¢ÓÉÔ²À¨»¡À¨ÆðÀ´¡£

ÊÂʵÖв»ÄÜǶÈëÆäËûµÄÊÂʵ¡£¾ÙÀý£¬ÏÂÃæ¼´ÊÇÒ»¸ö·Ç·¨µÄÊÂʵ£º

(duck (shot Brian Gary Rey))

È»¶ø£¬Èç¹û¡°shot¡±±»µ±×÷Ò»¸ö×Ö¶ÎÃû£¬ÉÏÃæµÄÊÂʵ¿ÉÄÜÊÇÒ»¸öºÏ·¨µÄdeftemplateÊÂʵ¡£ºóÃæµÄÈý¸öÈËÃûΪ¸Ã×Ö¶ÎϵÄÖµ¡£

CLIPSÇø·Ö´óСд¡£Í¬Ñù£¬CLIPSÖÐÌض¨µÄ·ûºÅÓÐÌØÊâµÄÒâÒå¡£

¡®¡¯ ( ) & | < ~ ; ? $

¡°&¡±£¬¡°|¡±ºÍ¡°¡«¡±²»»á¶ÀÁ¢µÄʹÓûò×÷Ϊ·ûºÅµÄÈκβ¿·Ö¡£

һЩ×Ö·ûµÄ×÷ÓõÈͬÓÚ·Ö¸ô·ûÒÔ½áÊøÒ»¸ö·ûºÅ¡£ÏÂÃæµÄ×Ö·ûµÄ×÷ÓõÈͬÓÚ·Ö¸ô·ûºÅ¡£ ? ËùÓеIJ»¿ÉÓ¡Ë¢µÄASCIIÂ룬°üÀ¨¿Õ¸ñ£¬»Ø³µ¼ü£¬ÖƱí¼üºÍ»»Ðмü¡£ ? Ë«ÒýºÅ£¬¡°¡±

? ÆðʼºÍ½áÊøÔ²À¨ºÅ£¬£¨£© ? &ºÅ ? ÊúÏߣ¬|

? СÓÚ£¬<.ÕâÒ²ÊǼâÀ¨ºÅµÄÒ»²¿·Ö¡£ ? ²¨ÀË×Ö·û£¬~

? ·ÖºÅ£¬£»Ö¸Ê¾Ò»¸ö×¢Ê͵ĿªÊ¼£¬»Ø³µ¼ü½áÊø

? £¿ºÍ$?Ò²Ðí²»ÄÜ×÷Ϊһ¸ö·ûºÅµÄ¿ªÊ¼£¬µ«ÊÇ¿ÉÒÔ²åÈëÆäÖÐ

·ÖºÅÔÚCLIPSµÄ×÷ÓÃÊÇָʾһ¸ö×¢Ê͵ĿªÊ¼£¬Èç¹ûÄãÊÔͼÔö¼ÓÒ»¸ö·ÖºÅ£¬CLIPS±ã»áÈÏΪÄãÔÚÊäÈëÒ»¶Î×¢ÊͲ¢µÈ´ýÄãµÄÍê³É¡£Èç¹ûÄãÔÚ×î¸ß½×²ã(top-level)Öв»¾­ÒâµÄÊäÈëÁËÒ»¸ö·ÖºÅ£¬ÄÇôÊäÈëÒ»¸öÔ²À¨ºÅµÄ½áÊø²¿·Ö£º£©²¢»Ø³µ¡£CLIPS»áÒÔÒ»¸ö´íÎóÏûÏ¢ÏìÓ¦²¢Ìáʾ¸øÄ㣨¾ÍÏñÉú»îÖеÄijЩʱºò£¬ÄãµÃ×öЩ´íÎóµÄÊÂÇéÒÔʹµÃijЩÊÂÇéÕýÈ·£©¡£

Ëæ×ÅÄãͨ¶ÁÕâ±¾ÊֲᣬÄ㽫»áÖð½¥Ã÷°×ÉÏÃæÄÇЩ·ûºÅµÄÒâÒå¡£³ýÁË¡°&¡±£¬¡°|¡±ºÍ¡°~¡±Ö®Í⣬Ä㽫ʹÓÃÆäËûµÄ±íʾ·ûºÅ£¬È»¶ø£¬Ò²Ðí¶ÔÓÚÓÐЩÈË£¬ÔÚ¶Á³ÌÐòºÍÊÔͼÀí½â³ÌÐòÔËÐлúÀíʱÓÐЩÀ§»ó¡£Í¨³£Çé¿öÏ£¬×îºÃÊDZÜÃâʹÓÃÕâЩ·ûºÅÀ´±íʾ×Ö·û£¬³ý·ÇÄãÓиüºÃµÄÀíÓÉÐèÒªÓõ½ËüÃÇ¡£

ÏÂÃæÊÇÕâЩ·ûºÅµÄһЩÀý×Ó£º duck duck1 duck_soup duck-soup

duck1-1_soup-soup d!?#%^

µÚ¶þÀàÀàÐ͵Ä×Ö¶ÎÊÇstring¡£Ò»¸ö×Ö·û´®±ØÐëÓÃË«ÒýºÅÒýÆðÀ´£¬Ë«ÒýºÅÊÇ×ֶεÄÒ»²¿·Ö¡£ÒýºÅÖпÉÒÔÓÐ0¸ö»ò¶à¸ö×Ö·û¡£Ò»Ð©Àý×ÓÈçÏ£º

¡°duck¡± ¡°duck1¡± ¡°duck/soup¡± ¡°duck soup¡±

¡°duck soup is good!!!¡±

µÚÈýºÍµÚËÄÖÖ×Ö¶ÎÀàÐÍΪÊý×ÖÐÍ×ֶΡ£¸Ã×Ö¶ÎÓÃÀ´±íʾÕûÐÍ»ò¸¡µãÐÍ×ֶΡ£¸¡µãÐÍͨ³£±»¼ò»¯Îªfloat¡££¨float-point->float£©

CLIPSÖеÄÊý×Ö¾ùΪ¡°long long¡±ÕûÐÍ»òË«¾«¶È¸¡µãÐÍ¡£Ã»ÓÐСÊýµãµÄÊý×Ö¼´ÊÇÕûÐÍ£¬³ý·ÇËüÃDz»ÊôÓÚÕûÐÍ·¶Î§¡£ÕûÐ͵ķ¶Î§ÓÉÊý×ÖµÄλÊý¾ö¶¨£¬N£¬ÓÃÀ´±íʾÕûÐÍÈçÏÂËùʾ£º

-2N-1 ? 2N-1-1

¶ÔÓÚ64λ»úÆ÷¡°long long¡±ÕûÐÍ£¬·ûºÏ¸Ã·¶Î§µÄÊý×ÖΪ£º

-9£¬223£¬372£¬036£¬854£¬775£¬808 ? 9£¬223£¬372£¬036£¬854£¬775£¬807

ÏÂÃæ¸ø³öһЩÊý×ÖµÄÀý×Ó£¬Ôö¼ÓÏÂÃæµÄÊý¾Ýµ½ÊÂʵÖУ¬×îºóÒ»¸öÊý×ÖΪָÊý±íʾ·¨£¬Óá°e¡±»ò¡°E¡±´úÌæ³ËÒÔ10¡£

CLIPS>(clear) CLIPS>(facts)

f-0 (initial-fact)

For a total of 1 fact. CLIPS>(assert (number 1))

CLIPS>(assert (x 1.5))

CLIPS>(assert (y -1))

CLIPS>(assert (z 65))

CLIPS>(assert (distance 3.5e5))

CLIPS>(assert (coordinates 1 2 3))

CLIPS>(assert (coordinates 1 3 2))

CLIPS>(facts)

f-0 (initial-fact) f-1 (number 1) f-2 (x 1.5) f-3 (y -1) f-4 (z 65)

f-5 (distance 350000.0) f-6 (coordinates 1 2 3) f-7 (coordinates 1 3 2) For a total of 8 facts. CLIPS>

ÈçÄãËù¼û£¬CLIPS½«ÊäÈëµÄÖ¸Êý±íʾ·¨×ª»»³ÉÊý×Ö350000.0£¬ÕâÊÇÒòΪµ±Êý×Ö×㹻С£¬¾Í»á±»´ÓÖ¸Êý±íʾת»»µ½¸¡µãÐ͸ñʽ¡£

×¢ÒâÉÏÃæµÄÿ¸öÊý×ÖÇ°Ã涼ÓÐÒ»¸ö·ûºÅ¿ªÍ·£¬Èç¡°number¡±£¬¡°x¡±£¬¡°y¡±µÈ¡£ÔÚCLIPS6.0°æ±¾ÒÔÇ°£¬ÔÊÐí½öÒ»¸öÊý×ÖµÄÊÂʵ£¬È»¶ø£¬ÏÖÔÚ±ØÐèÒ»¸ö·ûºÅ×÷ΪµÚÒ»×ֶΣ¬Í¬Ê±£¬CLIPSµÄһЩרÓÃ×ֶβ»ÄÜÓÃÀ´×÷ΪµÚÒ»×ֶΣ¬µ«ÊÇ¿ÉÒÔÓÃÀ´×÷ΪÆäËû×ֶΡ£¾Ù¸öÀý×Ó£¬×¨Óùؼü×ÖnotÓÃÀ´Ö¸´ú·ñ¶¨Ä£Ê½£¬µ«ÊDz»ÄÜ×÷Ϊһ¸öÊÂʵµÄµÚÒ»×ֶΡ£

Ò»¸öÊÂʵÓÉÒ»¸ö»ò¶à¸ö±»Ô²À¨»¡À¨×¡µÄ×Ö¶Î×é³É¡£ÎªÁ˼òµ¥»¯£¬ÎÒÃÇÔÚÇ°ÃæÆßÕÂÖн«½ö½öÌÖÂÛÊÂʵ£¬µ«Ò²ÓÐÐí¶à¶ÔģʽƥÅäÓ¦ÓÃÓÚ¶ÔÏó×öÁËÌÖÂÛ¡£ÀýÍâµÄÊÇ£¬Ò»Ð©º¯ÊýÈçassertºÍretract½ö½öÖ»ÄÜÓÃÓÚÊÂʵ£¬¶ø²»ÄÜÓÃÓÚ¶ÔÏ󡣶ԶÔÏóÏàÓ¦µÄ´¦Àí·½·¨½«»áÔڵڰ˵½µÚÊ®¶þÕÂÖÐÌÖÂÛ¡£

Ò»¸öÊÂʵ¿ÉÒÔÊÇÓÐÐòµÄ£¬Ò²¿ÉÄÜÊÇÎÞÐòµÄ¡£ËùÓÐÇ°ÃæÄãÒѾ­¿´µ½µÄÊÂʵ¶¼ÊÇÓÐÐòÊÂʵ£¬ÒòΪ×ֶεÄ˳Ðò¾ö¶¨ÁËËüÃǵIJ»Í¬¡£¾Ù¸öÀý×Ó£¬×¢Ò⣬CLIPS»á×Ô¶¯½«°üº¬ÏàͬÊý×Ö¡°1¡±,¡°2¡±ºÍ¡°3¡±µÄÊÂʵÇø·Ö¿ª¡£

f-6 (coordinates 1 2 3) f-7 (coordinates 1 3 2)

ÓÐÐòÊÂʵ±ØÐëÓÃ×ֶζÔλÓÚÆ䶨ÒåµÄÊý¾Ý¡£¾ÙÀý˵Ã÷£¬ÓÐÐòÊÂʵ(duck Brian)ÓÐÁ½¸ö×ֶΣ¬Í¬Ñù(Brian duck)Ò²ÓÐÁ½¸ö×ֶΣ¬È»¶ø£¬CLIPS½«Æä¿´×÷Á½¸ö²»Í¬µÄÊÂʵ£¬ÒòΪÓÐÐòÊÂʵ×ֶεÄÖµÊDz»Í¬µÄ¡£Ïà·´£¬ÊÂʵ(duck-Brian)½öÓÐÒ»¸ö×ֶΣ¬ÒòΪÓÐÒ»¸ö¡°-¡±·ûºÅ½«Á½¸öÖµÁ¬½á¡£

¶¨ÒåÄ£°åÊÂʵ(Deftemplate facts)£¬ÉÔºó»á×öÏêϸµÄ±íÊö£¬ËüÊÇÎÞÐòµÄ£¬ÒòΪËüÓÃÃüÃû×Ö¶ÎÀ´¶¨ÒåÊý¾Ý¡£ÕâÓëÔÚCºÍÆäËûÓïÑÔÖÐÓ¦ÓýṹÌåÒ»Ñù¡£

¶à×Ö¶Îͨ³£±»ÓÉÒ»¸ö»ò¶à¸öµÄ¿Õ¸ñ£¬ÖÆ±í£¬»Ø³µ»ò±í¸ñ×é³ÉµÄ¿Õ°×¸ôÀ뿪À´¡£¾ÙÀý˵Ã÷£¬ÊäÈëÏÂÃæµÄÀý×Ó£¬Ä㽫·¢ÏÖÿ¸ö±»´æ´¢µÄÊÂʵ¶¼ÊÇÒ»ÑùµÄ¡£

CLIPS>(clear)

CLIPS>(assert (The duck says ¡°Quack¡±))

CLIPS>(facts)

f-0 (initial-fact)

f-1 (The duck says ¡°Quack¡±) For a total of 2 facts. CLIPS>(clear)

CLIPS>(assert (The duck says ¡°Quack¡± ))

CLIPS>(facts)

f-0 (initial-fact)

f-1 (The duck says ¡°Quack¡±) For a total of 2 facts. CLIPS>

»Ø³µµÄʹÓÃÊÇΪÔö¼Ó¿É¶ÁÐÔ¡£ÔÚÏÂÃæµÄÀý×ÓÖУ¬Ã¿¸ö×ֶκó¼ÓÒ»¸ö»Ø³µ£¬Ôö¼ÓµÄÊÂʵÓ뽫×ֶζ¼Ð´ÔÚÒ»ÐеÄЧ¹ûÊÇÒ»ÑùµÄ¡£

CLIPS>(clear)

CLIPS>(assert (The duck says

¡°Quack¡±))

CLIPS>(facts)

f-0 (initial-fact)

f-1 (The duck says ¡°Quack¡±) For a total of 2 facts. CLIPS>

È»¶ø£¬µ±ÄãÔÚÊäÈëÒ»¸ö×Ö·û´®µÄʱºò£¬Òª×¢Òâ²åÈë»Ø³µºóµÄЧ¹û£¬Àý×ÓÈçÏ£º

CLIPS>(assert (The duck says ¡°Quack ¡±))

CLIPS>(facts)

f-0 (initial-fact)

f-1 (The duck says ¡°Quack¡±) f-2 (The duck says ¡°Quack ¡±)

For a total of 3 facts. CLIPS>

ÈçÄãËù¼û£¬ÔÚË«ÒýºÅÖвåÈëµÄ»Ø³µÔÚ×Ö·û´®Êä³öÖлὫ˫ÒýºÅµÄºó°ë²¿·ÖÒƵ½ÏÂÒ»ÐС£CLIPS»áÈÏΪf-1Óëf-2ÊÇÁ½¸ö²»Í¬µÄÊÂʵ£¬ÕâÒ»µãºÜÖØÒª¡£

ͬÑù£¬ÎÒÃÇÒ²×¢Òâµ½CLIPS»á±£´æÊÂʵÖÐ×Ö¶ÎÀïµÄ´óдºÍСд×Öĸ¡£Ò²¾ÍÊÇ¡°The¡±Öеġ°T¡±ºÍ¡°Quack¡±Öеġ°Q¡±¡£CLIPS±»ÈÏΪÊÇÇø·Ö´óСдµÄ£¬ÒòΪËü½«´óдºÍСд×ÖĸÇø±ð¶Ô´ý¡£¾ÙÀý˵Ã÷£¬Ôö¼ÓÊÂʵ(duck)ºÍ(Duck),È»ºóµ÷ÓÃ(facts)ÃüÁÄã»á·¢ÏÖCLIPSÔö¼ÓÁËÁ½¸ö²»Í¬µÄÊÂʵ(duck)ºÍ(Duck),ÕâÕýÊÇÒòΪCLIPSÊÇÇø·Ö´óСдµÄÔµ¹Ê¡£

ÏÂÃæµÄÀý×Ó½«¸üÇå³þµÄ±íÏÖÁ˻سµÓ¦ÓÃÓÚ±íÖУ¬Ôö¼Ó¿É¶ÁÐÔµÄ×÷Óá£Ôö¼ÓÏÂÃæµÄÊÂʵ£¬Ê¹ÓÿոñºÍ»Ø³µ½«×ֶκÏÊʵݲÅÅÔÚÐÐÖС£ÆÆÕۺźͼõºÅ±»Ê¹ÓÃÀ´´´½¨µ¥×ֶΣ¬ÕâÑù£¬CLIPS¾Í»á½«¡°fudge sauce¡±×÷Ϊһ¸öµ¥×Ö¶ÎÁË¡£

CLIPS>(clear)

CLIPS>(assert (grocery-list