`

【转】ruby 调用其他函数

    博客分类:
  • Ruby
 
阅读更多
1、获取其他程序的运行结果

x= system("date")

x='date'

x=%x{date}



2、调用其他程序,同时把执行权移交给被调程序

exec "shutdown -s -t 0"

puts "this will never be displayed!"



3、同时运行两个程序

forking就是值程序的实例进程复制自身,导致该程序的两个进程并发运行。

if fork.nil?<pre class="ruby" name="code">if fork.nil?
   exec "ruby some_other_file.rb"
end

puts "this ruby script now run!"


4、与另一个程序进行交互

5、安全级别$SAFE,在drb中有使用过该特性,防止客户端调用server服务执行非法操作

6、使用window的API
[code = "ruby"]
require "Win32API"

title = "My Application"
text = "Hello world"
Win32API.new('user32','MessageBox' , %w{L P P L},'I').call(0,text,title,0)

7、控制windows程序

对windows的自动化访问是通过ruby的WIN32OLE程序库实现的,例如

require "Win32API"
require "win32ole"

title = "My Application"
text = "Hello world"
result = Win32API.new('user32','MessageBox' , %w{L P P L},'I').call(0,text,title,1)

case result 
when 1
  puts "clicked OK"
when 2
  puts "clicked cancel!"
else
  puts "clicked something else!"
end

web_browser = WIN32OLE.new('InternetExplorer.Application')
web_browser.visible = true
web_browser.navigate('http://www.baidu.com')


转自: http://blog.csdn.net/zhanggs007/article/details/7606525
分享到:
评论

相关推荐

    Ruby-PyCall从Ruby语言调用Python函数

    PyCall: 从Ruby语言调用Python函数

    从Ruby语言调用Python函数-Ruby开发

    PyCall:从Ruby语言中调用Python函数该库提供了直接从Ruby语言中调用Python并与之进行部分互操作的功能。 您可以在PyCall中导入任意Python模块:从Ruby语言调用Python函数该库提供了直接从Ruby语言调用Python并与之...

    pycall.rb:从Ruby语言调用Python函数

    您可以将任意Python模块导入Ruby模块,通过从Ruby到Python的自动类型转换来调用Python函数。 支持的Ruby版本 pycall.rb支持Ruby 2.3或更高版本。 支持的Python版本 pycall.rb支持Python 2.7或更高版本。 请注意,...

    ruby-rust-interop:展示在 Ruby 运行时中从 Rust 调用基于数字的函数

    ruby-rust-互操作展示在 Ruby 运行时中从 Rust 调用基于数字的函数我希望这些例子能帮助你使用 Rust 设置 Ruby! 所有这些示例都在使用 Ruby 2.1.6 和 Rust 1.0.0-beta.4 的 Windows 上进行了测试如果你克隆 repo,...

    Ruby常见面试题.pdf

    请简要介绍在Ruby中的函数定义和调用方式。 7. Ruby中如何处理异常(Exception Handling)?请说明在Ruby中的异常处理机制。 8. Ruby中的数组(Array)和哈希(Hash)有什么区别?请说明在Ruby中数组和哈希的不同...

    实例讲解Ruby中的钩子方法及对方法调用添加钩子

    Class#inherited方法也是这样一个钩子方法,当一个类被继承时,Ruby会调用该方法。默认情况下,Class#inherited什么都不做,但是通过继承,我们可以拦截该事件,对感兴趣的继承事件作出回应。 class String def ...

    ruby教程.rar

    方法调用 类/方法的定义 标准库 内部函数 内部变量 内部常数 内部类/模块/异常类 附加库 Ruby变更记录 ruby 1.6 特性 ruby 1.7 特性 ruby 1.8 特性 1.6.8到1.8.0的变更点(总结) ruby 1.9 特性 ...

    com组件,comport.dll

    com组件,调用mscomm32.ocx中的一些函数

    functions-framework-ruby:FaaS(函数即服务)框架,用于编写可移植的Ruby函数

    一个开放源代码框架,用于编写在无服务器环境中运行的轻型可移植Ruby函数。 写入此框架的功能将在许多不同的环境中运行,包括: (公开预览) 任何其他基于的环境 您当地的开发机器 该框架使您可以: ...

    rubyPHP高性能的PHP框架

    rubyPHP的高性能体现在以下几个方面: ...rubyPHP重写了mysql_query,mongo_query函数,除了对查询语句进行内存级缓存的优化,同时也将查询语句放到了从服务器上执行。mysql的主从配置文件路径为config/mysql.php。

    Ruby编程语言

    在对Ruby进行了简要的综述之后,《Ruby编程语言》详细介绍了以下内容:Ruby的句法和语法结构,数据结构和对象,表达式和操作符,语句和控制结构,方法、proc、lambda和闭包,反射和元编程,Ruby平台。本书还包含对...

    go-cshared-examples:使用C共享库从其他语言调用Go函数

    这样,程序员就可以在此存储库中创建可以从其他语言(包括C,Python,Ruby,Node和Java)调用的Go库(请参见Lua的示例)。围棋代码首先,让我们编写Go代码。 假设我们已经编写了一个awesome Go库,希望将其提供给...

    ethereum-ruby, ruby 语言的Ethereum库.zip

    ethereum-ruby, ruby 语言的Ethereum库 用于 ruby的 Ethereum库...特性纯 ruby 实现支持批量调用的IPC客户端支持批量调用的HTTP客户端编译和部署固态合同使用构造函数参数部署合同。将已经部署的协定公开为 ruby 类使

    therubyracer:将V8 Javascript解释器嵌入Ruby

    操纵JavaScript对象并从Ruby调用JavaScript函数 与Ruby Rhino兼容的API(对于JRuby: : ) 概要 gem install therubyracer 然后在您的Ruby代码中 require 'v8' 或者,如果使用捆绑程序(与Rails一样),则将以下内容...

    使用C++来编写Ruby程序扩展的教程

    除了头文件,Ruby 还提供了其他几个高层抽象来扩展基于本地 ruby.h 构建的 Ruby,本文要介绍的是 Ruby Interface for C++ Extensions 或 Rice。 创建 Ruby 扩展 在进行任何 Ruby 的 C API 或 Rice 扩展前,我想明确...

    starcore_for_winuwp.3.5.0.zip

    •集成脚本之间双向调用桥接,任何语言 c/c++, lua, python, java, c#,ruby可以直接存取和调用其它语言中的类,函数,方法,以及模块 •支持丰富的网络功能: tcp/udp, telnet server, http server, soap server. •...

    详解Ruby中的方法概念

    Ruby方法跟其他编程语言中的函数非常相似, Ruby方法用于捆绑到一个单元中的一个或多个重复的语句。 方法名称应以小写字母开始。如果一个方法的名称以大写字母开始,Ruby可能会认为这是一个常数,因此可以正确解析...

    matlab虚线图代码-callGraph:一种多语言工具,用于解析函数定义和调用的源代码

    个其他函数。 callGraph 静态生成调用图图像并将其显示在屏幕上。 支持的语言有:awk、bash、basic、dart、fortran、go、lua、javascript、kotlin、matlab、perl、pascal、php、python、R、raku、ruby、rust、scala...

    quantlib_test:使用 QuantLib C++ 代码和 Ruby FFI 进行实验

    声明 FFI 将调用的函数,以及函数将返回的返回值结构。 它还将它们定义为外部 C 函数,这样它们就不会被 C++ 编译器改名,以便 FFI 可以调用它们。 test_quantlib.cc 示例quantlib代码,实现头文件中定义的函数 ...

    ruby——块

    您已经知道 Ruby 如何定义方法以及您如何调用方法。类似地,Ruby 有一个块的概念。 1.块由大量的代码组成。 2.您需要给块取个名称。 3.块中的代码总是包含在大括号 {} 内。 4.块总是从与其具有相同名称的函数调用。...

Global site tag (gtag.js) - Google Analytics