语法:
eval( 可执行字符串)
使用举例:
a = 1
b="true"
c="false"
str ="
if a==1 then
puts '输出:#{b}'
else
puts '输出:#{c}'
end
"
eval(str)
这样就输出为:输出:true
2009-03-28 18:04:55
eval( 可执行字符串)
a = 1
b="true"
c="false"
str ="
if a==1 then
puts '输出:#{b}'
else
puts '输出:#{c}'
end
"
eval(str)
这样就输出为:输出:true
2009-01-02 17:05:51
2008-12-31 23:13:51
2008-12-28 23:31:08
WMI最初于 1998 年作为一个附加组件与 Windows NT 4.0 Service Pack 4 一起发行,是内置在 Windows 2000、Windows XP 和 Windows Server 2003 系列操作系统中核心的管理支持技术。基于由 Distributed Management Task Force (DMTF) 所监督的业界标准,WMI 是一种规范和基础结构,通过它可以访问、配置、管理和监视所有的 — 几乎所有的 Windows 资源。
要掌握 WMI 的强大功能和范围,需要考虑以前(或者现在)如何管理并监视 Windows 工作站和服务器。您可能用过或仍在使用众多的图形化管理工具来管理 Windows 资源 — 例如磁盘、事件日志、文件、文件夹、文件系统、网络组件、操作系统设置、性能数据、打印机、进程、注册表设置、安全性、服务、共享、用户、组等等。
尽管图形化工具提供了一种功能管理解决方案,它们所共有的东西是什么呢?一种答案是,在 WMI 之前,所有的 Windows 图形化管理工具都依赖于 Win32 应用程序编程接口(Application Programming Interfaces,APIs)来访问和管理 Windows 资源。为什么?因为在 WMI 之前,能够以编程方式访问 Windows 资源的惟一方法就是通过 Win32 API。这种情况使 Windows 系统管理员无法通过一种简便的方法利用常见的脚本语言来自动化常用的系统管理任务,因为大多数脚本语言都不能直接调用 Win32 API。通过提供一致的模型和框架,WMI 改变了这种情况 — 通过模型和框架,所有的 Windows 资源均被描述并公开给外界。最好的一点是,系统管理员可以使用 WMI 脚本库创建系统管理脚本,从而管理任何通过 WMI 公开的 Windows 资源!
使用 Windows scrīpt Host 和 Microsoft Visual Basic scrīpting Edition (VBscrīpt),或任何支持 COM 自动化的脚本语言(例如,ActiveState Corporation 的 ActivePerl),可以编写脚本来管理和自动化企业系统
使用ruby和 WMI 来显示内存的一个例子
require 'win32ole'
mgmt = WIN32OLE.connect('winmgmts:\\\\.' + "\\root\\cimv2")
processes = mgmt.InstancesOf('Win32_LogicalMemoryConfiguration')
processes.each do |x|
puts "Total Physical Memory (kb): " + x.TotalPhysicalMemory.to_s
end
2008-12-26 10:23:04
2008-12-14 14:36:31
2008-12-13 17:11:04
2008-12-09 13:34:25
2008-12-08 21:00:33
2008-12-07 17:46:00
2008-12-06 22:59:56
Block是一种可以和方法调用相关联的代码块,有点象参数传递
Block的表达方式:
1) {........}
如:puts {"good morning,baoju"}
2) do .... end
如:
do
puts "hello,jack"
puts "nice to meet you"
end
一般来说只有一行那么使用{},如果有多行那么使用do...end
Block与函数的关联
block 可以和方法的调用相关联,block可以写在方法的后面,如:
greet {puts "hi"}
如果函数有参数,那么block写在参数的后面,如:
greet("jack","morning") {puts "hi"}
使用yield可以把调用block中的代码,如:
def greet
puts "test block"
yield
yield
puts "call block two times"
end
puts greet {puts "hi"}
那么输出为:
test block
hi
hi
call block two times
----------------------------------------------------------
可以传递参数给对yield的调用,如:
def hell()
yield('morning','hxr')
end
puts hell {|m,n| puts "good "+m+","+n}
那么输出为:
good morning,hxr
-------------------------------------
在ruby中会经常使用block来实现迭代器,如
(1..3).each {|i| puts i}
输出为:
1
2
3
2008-11-25 22:35:03
2008-11-25 22:15:22
<input type="button" id="one" name="clickme" value="Click Me">
使用ID属性来操作:
ie.button(:id,"one").click
使用Name属性来操作:
ie.button(:name,"clickme").click
使用value属性来操作
ie.button(:value,"Click Me").click
<input type="image" src="images/doit.gif">
可以使用下面的方法来操作:
ie.button(:src,/doit/).click
清空Cookie - 联系我们 - 51Testing软件测试网 - 交流论坛 - 空间列表 - 站点存档 - 升级自己的空间
Powered by 51Testing
© 2003-2021
沪ICP备05003035号