ÓÃRuby дTuring »ú
×î½üÔÚ¿´John E.Hopcroft,Rajeev Motwani,Jeffrey D.Ullman Èý¾ÞͷдµÄIntroduction to Automata Theory,Language,and Computation£¬Ïëдһ¸öTuring »úÑéÖ¤Ò»ÏÂ×Ô¼ºÐ´µÄ×´Ì¬×ªÒÆº¯Êý¶Ô²»¶Ô¡£ÀÁµÃºÜ£¬ÍøÉÏËÑÁ˼¸¸ö²»´íµÄ¡£µ«Ruby Quiz ÉϵÄÕâ¸ö×î¼òµ¥¡£
162 Turing »ú
ÎÊÌâÃèÊö
Quiz
description by James Edward Gray II
Turing »úÊÇÊ®¾ÅÊÀ¼ÍÈýÊ®Äê´úÌá³öµÄÒ»ÖֽṹºÜ¼òµ¥µÄ¼ÆËãÄ£ÐÍ¡£ËäÈ»Ëü±ÈÈç½ñµÄÈκμÆËã»ú¶¼Òª¼òµ¥£¬µ«´óÁ¿Ñо¿±íÃ÷Æä¼ÆËãÄÜÁ¦Ë¿ºÁ²»ÈõÓÚÈκÎÄÜÏëµ½µÄ»úÆ÷£¨µ±È»£¬ÓÃÆðÀ´²»Ì«·½±ã£©¡£
ÕâÖܵÄÈÎÎñÊÇÔį̀Turing »úÀ´ÍæÍæ¡£
һ̨Turing »ú°üÀ¨Èý¸ö¼òµ¥²¿¼þ£º
* Ò»¸ö״̬¼Ä´æÆ÷
* Ò»ÌõÎÞÏÞ³¤µÄÖ½´ø£¬Ö½´ø±»·ÖΪÎÞÊýС¸ñ£¬Ã¿¸ö¸ñ×ÓÄÜÈÝÄÉÒ»¸ö×Ö·û¡£»¹ÓÐÒ»¸ö¶Áдͷ£¬ÔÚÈκÎʱ¿Ì¶¼»áÖ¸ÏòÒ»¸öÈ·¶¨µÄС¸ñ¡£Ö½´øÉÏĬÈÏÊÇ¿Õ×Ö·û¡£
* Ò»×éÓÐÏÞÖ¸Á¡£³ÌÐò¾ÍÊÇÒ»¸ö×´Ì¬Ç¨ÒÆµÄ´ó±í¸ñ¡£Turing »ú¸ù¾Ý״̬¼Ä´æÆ÷µÄµ±Ç°ÖµºÍ¶ÁдͷËùÖ¸µÄ×Ö·û²éµÃÒ»ÌõÖ¸Áî¡£ÕâÌõÖ¸Áî°üÀ¨¼Ä´æÆ÷µÄÐÂ״̬£¬ÌîÈë¶ÁдͷָÏòµ¥ÔªµÄ×Ö·ûºÍ¶ÁдͷÏÂÒ»²½Òƶ¯µÄ·½Ïò¡£
ΪÁËÈÃÎÒÃǵÄTuring »ú×ã¹»¼òµ¥£¬ÎÒÃǹ涨״̬¼Ä´æÆ÷ÈÝÄɵÄ×ÖÓ¦Äܱ»ÕýÔò±í´ïʽ /\w+/ Æ¥ÅäÉÏ£¬¶øÖ½´øÉϵÄ×Ö·ûÒªÄܱ» /\w/ Æ¥ÅäÉÏ¡£ÁíÍ⣬ÎÒÃǹ涨¿Õ×Ö·ûΪÏ»®Ïß(_)¡£
Turing »úµÄ³ÌÐò¸ñʽÈçÏ£º
CurrentState _ NewState C R
ÉÏÊö¸ñʽÒâ˼ÊÇ£ºÈç¹ûµ±Ç°×´Ì¬ÊÇCurrentState ¶ø¶ÁдͷËùÖ¸µÄ×Ö·ûÊÇ¿Õ×Ö·ûµÄ»°£¬°Ñ״̬ÖÃΪNewState £¬²¢ÓÃ×Ö·ûC Ìæ»»¿Õ×Ö·û£¬È»ºó¶ÁдͷÓÒÒÆÒ»¸ñ¡£ÕâÎå¸ö²¿·ÖдÔÚÒ»ÐÐÀïÃæ£¬Óÿոñ¸ô¿ª¡£ÔÊÐí³ÌÐòÖгöÏÖµ¥ÐÐ×¢ÊÍ£¬¸ÃÐÐÖо®ºÅ(#)ËùÆðµÄ²¿·ÖΪעÊÍ¡£×¢ÊÍ¡¢¿Õ°×Ðн«±»ºöÂÔ¡£
ÄãµÄTuring »úÓ¦±»³õʼΪ³ÌÐòµÚÒ»ÐÐÖеÄCurrentState¡£µ±È»ËæÄ㣬ÄãÒ²¿ÉÔÚ³ÌÐòÔØÈëʱԤÖúÃÖ½´øµÄÄÚÈÝ£¬µ«È±Ê¡Îª¿Õ×Ö·û¡£µ±³ÌÐòÕÒ²»µ½Ò»ÌõÓ뵱ǰ״̬ºÍ¶ÁдͷËùÖ¸×Ö·û¶ÔÓ¦µÄÖ¸Áîʱ£¬´òÓ¡³öÖ½´øÉÏ´ÓµÚÒ»¸ö·Ç¿Õ×Ö·ûµ½×îºóÒ»¸ö·Ç¿Õ×Ö·ûÖ®¼äµÄÄÚÈÝ£¬È»ºóÍ˳ö¡£
ÏÂÃæÊÇÒ»¸öʾÀý£¬Äã¿ÉÒÔ¿´µ½ÎÒµÄTuring »úÊÇÔõôÔËÐеģº
$ cat palindrome.tm
# Report whether a string of 0 and 1 (ie. a binary
# number) is a palindrome.
look_first 0 go_end_0 _ R
look_first 1 go_end_1 _ R
look_first _ write_es Y R
go_end_0 0 go_end_0 0 R
go_end_0 1 go_end_0 1 R
go_end_0 _ check_end_0 _ L
go_end_1 0 go_end_1 0 R
go_e
Ïà¹ØÎĵµ£º
SOAP ·þÎñ¶Ë£º
#!/usr/local/bin/ruby
require 'soap/rpc/standaloneServer'
module MySOAP
class Timer
def now
Time.new.strftime("%Y-%m-%d %H:%M:%S")
end
end
class Add
def add(i, j)
return i.to_i + j.to_i
&nb ......
“Ñ»·”»áÓÃÔÚ³ÌÐòÖеĸ÷Öֵط½¡£¶øÔÚÑ»·µÄµØ·½ÉÆÓÓµü´úÆ÷”£¬ÔòÊÇÊìÁ·½øÐÐRuby³ÌÐòÉè¼ÆµÄÖØÒª¹Ø¼ü¡£
²»¹ý£¬µü´úÆ÷ȷʵÓбȽϳéÏóµÄµØ·½£¬Óï·¨Ò²Óеã¹ÖÒ죨ÓÈÆäÊÇyieldµÄÓ÷¨£©£¬¹âÊÇÒÀ¿¿ÎÄ×Ö˵Ã÷¡¢¿´Ò»Á½¸öʾÀý£¬»¹ÊDz»Ì«ºÃ¶®¡£Æäʵ£¬µ±³õ±ÊÕß¿ªÊ¼Ñ§Ï°Rubyʱ¾Í¿¨ÔÚÕâÀºÜ¾Ã¶¼¸ã²»¶®¡£
ËùÒÔÔÚ± ......
·ÖΪÈçϼ¸½Ú:
·»ù±¾ÊµÏÖ
·ÔÚµü´úÖÐÒýÓÃÔÀ´µÄ¶ÔÏ󣬻òÕßÖ±½Ó¸Ä±äÊý×éµÄÖµ¶ø²»ÊÇ·µ»ØÒ»¸öÐÂÊý×é
·Ïòµü´ú´«ÈëÎÞÏÞ¶àµÄ²ÎÊý
·»ù±¾ÊµÏÖ
½ñÌìͻȻ·¢ÏÖjsµÄÊý×é´¦ÀíÆðÀ´ÕæÊÇÂé·³,´úÂëһЩ¾ÍÊÇÒ»´ó¶Ñ,Ïà±ÈÆðrubyµÄµü´úÆ÷À´ÕæÊÇÑ·É«²»ÉÙ,Ö÷ÒªÊÇҪдµÄ´úÂëÌ«¶àÁË,Ò²ÐíÊÇjsÓÐÌØÊâµÄ´¦ÀíÊý×éµÄ·½Ê ......
ÓÐЩʱºò¿ÉÄÜ»á¸ù¾ÝһЩÓÐÏÞµÄÐÅÏ¢£¬À´²éÕÒÒ³ÃæµÄÔªËØ£¬ÕâÀï¾ÙÒ»¸öÀý×ÓÀûÓÃÒ³ÃæÎÄ×ÖÀ´²éÕÒËùÔڵıêÇ©£¬ÒÔÌÔ±¦µÄµÇÂ¼Ò³ÃæÎªÀý£¬Ê¹ÓÃÒÔÏ´úÂë¿ÉÒÔʵÏÖ¸ù¾ÝÕË»§ÃûÀ´Ê¶±ð¶ÔÓ¦µÄ½ÚµãÃû³Æ£º
require ‘watir’
#ie = Watir::IE.attach(:url, /member1.taobao.com/)
ie = Watir::IE.start(”http://memb ......
ÉÏÉÏÖÜÔÚÊéµê¿´µ½Ò»±¾¡¶Ruby
Éè¼ÆÄ£Ê½¡·£¬¼ñÆðÀ´ 10 ·ÖÖÓ¿´Í꣬ÈÓÁË£¨±ðÎÊÎÒΪʲô……£©
ÏÂÃæÓÃ Ruby
ддÉè¼ÆÄ£Ê½£¬Ë³±ãÅúÒ»Åú Java ºÍ Gof
¡£
1.Factory
ºÍ Abstract Factory
class
Factory
attr_accessor :product
......