rubyµ÷ÓÃDLL
¿ªÔ´²âÊÔ¹¤¾ßwatirÊDzÉÓõÄrubyÓïÑÔ½øÐпª·¢µÄ¡£ÔÚÑо¿watir¿ò¼ÜµÄʱºò£¬·¢ÏÖÓÐÒ»²¿·Öº¯ÊýwatirûÓÐÌṩ¶øÇÒÔÝʱûÕÒµ½ºÏÊʵÄgem°ü£¬¶øºÜ¶à¹¦ÄÜÔÚÎÒÃÇÔÀ´µÄ×Ô¶¯»¯²âÊÔ¿ò¼ÜÖж¼Í¨¹ýcдµÄdll½øÐÐÁËʵÏÖ£¬ÓÚÊÇÎÒÃÇÏ£ÍûÄܹ»°ÑÕⲿ·ÖµÄdllÎÞ·ìµÄÒÆÖ²µ½watirÉÏ£¬¼õÉÙÎÒÃǵŤ×÷Á¿£¬¶øÇÒ¿ÉÒÔ¸ü¸ßЧµÄʵÏÖÎÒÃÇÐèÒªµÄ¹¦ÄÜ¡£
ÔÚrubyµÄ¿ªÔ´ÏîÄ¿ÖУ¬Win32ApiÕâ¸ögem¿ÉÒÔʵÏÖÎÒÃÇÐèÒªµÄ¹¦ÄÜ¡£Í¨¹ýÒÔÏ·½·¨ £¬ÎÒÃǾͿÉÒÔµ÷ÓÃÍⲿdllÖеĺ¯Êý¡£
Win32Api.new(dllname, proc, import, export)
²ÎÊý˵Ã÷
dllname:dllÎļþµÄÃû×Ö£¬Èç¹ûÏëֻдdllµÄÃû×Ö£¬¿ÉÒÔ½«dll·Åµ½system32Ŀ¼»òÕßµ±Ç°Ä¿Â¼Ï£¬»òÕßдÉÏdllÎļþËùÔڵķ¾¶
proc: dllÖк¯ÊýµÄÃû×Ö
import£ºº¯Êý´«Èë²ÎÊýµÄ²ÎÊýÀàÐÍ£¬ÆäÖÐ "p" ¶ÔÓ¦Ö¸Õ룬"n","l"¶ÔÓ¦long£¬"i"¶ÔÓ¦int£¬"v" ¶ÔÓ¦void£¬Èç¹ûÓжà¸ö²ÎÊý£¬¿ÉÒÔͨ¹ý ["p","n"]Êý×éµÄ·½Ê½À´ÊµÏÖ£¬ÆäÖÐÖÃΪnil¿ÉÒÔ±íʾûÓвÎÊý
export£ºº¯ÊýµÄ·µ»ØÖµÀàÐÍ£¬²ÎÊýÀàÐÍͬÉÏ
Win32API#call([args ...])
µ÷ÓÃdllÖеĺ¯Êý£¬²ÎÊýºÍ·µ»ØÖµÓ¦¸ÃÓënewÉêÃ÷ÖеÄÒ»Ö£¬Èç¹û·µ»ØÒ»¸öÖ¸Õ룬ÐèÒªÊÂǰ³õʼ»¯£¬·ñÔò¿ÉÄÜ»áÓÐÄÚ´æÒç³öÎÊÌâ¡£
Àý×Ó:
ÓиödllµÄÍ·ÎļþµÄÉêÃ÷Ϊ:
extern "C" long PASCAL EXPORT BMPToJPG(char *jpg,char *bmp);
ÄÇôÔÚ½«Ö¸¶¨µÄdllÎļþ·ÅÔÚµ±Ç°Ä¿Â¼£¬ruby´úÂëÈçÏÂ
require 'rubygems'
require 'Win32Api'
JPG=Win32API.new(File.dirname(__FILE__)+"\\JpgDll.dll","BmpToJpg",["p","p"],"l")
JPG.call("D:\\1.bmp","D:\\1.jpg")
Ö´ÐÐÉÏÊö´úÂëºó£¬¾ÍÄܰÑDÅÌϵÄ1.bmpÎļþÁí´æÎª 1.jpgÎļþ
Ïà¹ØÎĵµ£º
Watir Óï·¨£¨Web Application Testing in Ruby)
# watirµÄ°²×°
watieµÄ°²×°Çë²é¿´ -> Ruby libraryµÄ°²×°
# ʹÓÃWatir¹¤¾ß£¬ÐèÒªÔڽű¾ÖмÓÉÏ
require 'watir'
# ´´½¨Ò»¸öIEµÄʵÀý
ie = Watir::IE.new
»òÕßÔÚ´´½¨µÄͬʱֱ½Óתµ½Ò³Ãæ
ie = Watir::IE.start('http://www.text.com/')
WatirʹÓÃstart·½·¨ ......
%{String} ÓÃÓÚ´´½¨Ò»¸öʹÓÃË«ÒýºÅÀ¨ÆðÀ´µÄ×Ö·û´®
%Q{String} ÓÃÓÚ´´½¨Ò»¸öʹÓÃË«ÒýºÅÀ¨ÆðÀ´µÄ×Ö·û´®
%Q!Some String of “Characters”! <==> ” Some String of \”Characters\” “
%q{String} ÓÃÓÚ´´½¨Ò»¸öʹÓõ¥ÒýºÅÀ¨ÆðÀ´µÄ×Ö·û´®
%q!Som ......
ÓÐÒ»¸öȫеÄÏîÄ¿£¬ÒòΪ¿¼Âǵ½½«À´µÄÊý¾ÝÀ©Õ¹ÐÔÄÜ£¬ËùÒÔ¿¼ÂÇÓÃCassandra×öÊý¾Ý´æ´¢£¬Ç°¶ËÓÃLighttpd + FastCGI + Rails¡£ÔÚʹÓÃCassandraµÄʱºò£¬¾õµÃÓÐһЩ¶«Î÷¿ÉÄÜ´ó¼Ò¶¼ÐèÒª£¬¾ÍдÁËÒ»¸ö¼òµ¥µÄÖ¸ÄÏ¡£ÒòΪÄÚÈݱȽϳ¤£¨16Ò³£©£¬¾ÍŪÁ˸öPDFÎļþ¸ø´ó¼ÒÏÂÔØ¡£
Cassandra in Action with Twitter's Ruby Client.pdf
Èç¹ûÏÂÔ ......
±¾ÀýÔÚ Ruby Ruportʵ¼ù—±¨±í²ÎÊýʵÏÖ µÄ»ù´¡ÉϽøÐиÄÔ죬ʵÏÖ±¨±íÖ´Ðж¨Òåʱ±¨±í²ÎÊýµÄÔö¡¢É¾¡¢¸Ä²Ù×÷
Ò»¡¢ÐÞ¸Äviews/report_executions/edit.html.erb
²»½öÏÔʾÔÚн¨±¨±íÖ´ÐÐʱ±£´æµÄ±¨±í²ÎÊý£¬»¹¿É¶¯Ì¬ÏÔʾʣÓàµÄ²ÎÊý£¨ÕâÀï¿ØÖÆ²ÎÊý×î¶à¿É¶¨Òå5¸ö£©£¬ÕâÑù¿É±ÜÃâÒÅÍü¶¨Ò屨±í²ÎÊý»òÐèÒªÔö¼Ó±¨±í²ÎÊýµ ......
RuportĿǰ×Ô´øÖ§³ÖPDF,HTML,CSV,TXT¸ñʽÊä³ö£¬Èç¹ûÏë´òÓ¡.xml£¬.bat±¨±íÔõô°ì£¿
±¾Àý½«ÒÔXML¸ñʽΪÀý£¬ÊµÏÖRuport::FormatterµÄÁíÒ»ÖÖ×Ô¶¨ÒåÓ¦Óá£
RuportµÄÓ¦Óòο¼£º Ruby Ruportʵ¼ù—¼òµ¥±¨±íϵͳ
×¢£ºÆäËû¸ñʽµÄ±¨±íÖ»ÐèÒªÐÞ¸Ärenders¶ÔÓ¦µÄÄÚÈÝ£¨ÈçÏ£Íû±£´æÎª.bat¸ñʽ£¬½«renders :xml¸ÄΪrenders :bat£©£¬ ......