ruby开发的交互式程序例子

 更新时间:2014年07月07日 11:01:31   投稿:junjie  
这篇文章主要介绍了ruby开发的交互式程序例子,本文使用ripl实现,需要的朋友可以参考下

实现pry,ronin,msf类似的终端下交互功能,这里主要用到了ripl gem:

1.能够调用定义的方法,如help
2.能够执行系统命令
3.能够类似irb/pry进行ruby语言解析

安装:

gem install ripl
gem install ripl-shell_commands

示例

ripl这个gem,它也提供很多插件,如下是一个简单的终端下交互实现:

require 'ripl'
require 'ripl/shell_commands'
require 'ripl/color_result'
require 'ripl/color_streams'
require 'ripl/commands'
require 'ripl/rocket'

#设置输出颜色
Ripl.config[:color_streams_stdout] = :light_blue
Ripl.config[:color_streams_stderr] = :light_red

#定义提示符号
Ripl.config[:prompt] = lambda {"[#{Ripl.shell.line.to_s}] cmd> " }

# Define plugins, load files, etc...

class Dodolook
 def help
 puts "xiaomi noops blog"
 end
 def name 
 "wilbur"
 end
end
dodo = Dodolook.new

verison = "1.0.3"
Ripl.start :binding => dodo.instance_eval{ binding }

使用

在终端下运行程序后,出现[0] cmd>这样的提示,其中help、name、dodo这些变量/方法可以tab补全。

运行shell命令前加!,如:!df
还有更多内部方法,如: history, list, jump…

相关文章

  • Ruby元编程之梦中情人method_missing方法详解

    Ruby元编程之梦中情人method_missing方法详解

    这篇文章主要介绍了Ruby元编程之梦中情人method_missing方法详解,本文讲解了我该怎么用 method_missing 、方法代理、define_method、什么时候用 method_missing、元方法等内容,需要的朋友可以参考下
    2015-05-05
  • ruby实现网页图片抓取

    ruby实现网页图片抓取

    本文给大家分享的是个人使用ruby编写的抓取网页图片的代码,十分的简单实用,有需要的小伙伴可以参考下。
    2015-06-06
  • 对优化Ruby on Rails性能的一些办法的探究

    对优化Ruby on Rails性能的一些办法的探究

    这篇文章主要介绍了对优化Ruby on Rails性能的一些办法的一些探究,包括避免内存密集型的应用和GC等相关问题的探讨,需要的朋友可以参考下
    2015-11-11
  • 详解Ruby中的方法概念

    详解Ruby中的方法概念

    这篇文章主要介绍了详解Ruby中的方法概念,包括方法的自定义和返回值等基础知识,需要的朋友可以参考下
    2015-05-05
  • Ruby on Rails中Rack中间件的基础学习教程

    Ruby on Rails中Rack中间件的基础学习教程

    Rack是一个连接Ruby程序与服务器程序之间的中间件,甚至可以说Rails也是在Rack的基础上建立起来的,这里我们就来为大家带来Ruby on Rails中Rack中间件的基础学习教程
    2016-06-06
  • Ruby Dir 类和常用方法

    Ruby Dir 类和常用方法

    Ruby编程语言中的Dir类包括多种用于目录处理的方法,本文详细介绍了如何使用Dir.chdir更改工作目录、Dir.children列出目录内容、Dir.delete删除空目录等常用方法,通过示例,读者可以学习如何在Ruby程序中有效地浏览和操作文件系统的目录结构
    2024-09-09
  • 浅谈Rails 4 中Strong Parameters机制

    浅谈Rails 4 中Strong Parameters机制

    本文主要是通过Rails3中的Parameters与Rails4中新引入的Strong Parameters机制进行对比,从而得出他们直接的异同
    2014-06-06
  • 在Ruby on Rails中优化ActiveRecord的方法

    在Ruby on Rails中优化ActiveRecord的方法

    这篇文章主要介绍了在Ruby on Rails中优化ActiveRecord的方法,本文来自于IBM官方网站技术文档,需要的朋友可以参考下
    2015-04-04
  • Rails中使用MySQL分区表一个提升性能的方法

    Rails中使用MySQL分区表一个提升性能的方法

    这篇文章主要介绍了Rails中使用MySQL分区表一个提升性能的方法,本文总结出了一个简单的方法实现避免扫描全部的分区表,从而提升性能,需要的朋友可以参考下
    2015-03-03
  • ruby 局部变量

    ruby 局部变量

    ruby 局部变量...
    2007-11-11

最新评论