ruby開(kāi)發(fā)的交互式程序例子
實(shí)現(xiàn)pry,ronin,msf類似的終端下交互功能,這里主要用到了ripl gem:
1.能夠調(diào)用定義的方法,如help
2.能夠執(zhí)行系統(tǒng)命令
3.能夠類似irb/pry進(jìn)行ruby語(yǔ)言解析
安裝:
gem install ripl gem install ripl-shell_commands
示例
ripl這個(gè)gem,它也提供很多插件,如下是一個(gè)簡(jiǎn)單的終端下交互實(shí)現(xiàn):
require 'ripl'
require 'ripl/shell_commands'
require 'ripl/color_result'
require 'ripl/color_streams'
require 'ripl/commands'
require 'ripl/rocket'
#設(shè)置輸出顏色
Ripl.config[:color_streams_stdout] = :light_blue
Ripl.config[:color_streams_stderr] = :light_red
#定義提示符號(hào)
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 }
使用
在終端下運(yùn)行程序后,出現(xiàn)[0] cmd>這樣的提示,其中help、name、dodo這些變量/方法可以tab補(bǔ)全。
運(yùn)行shell命令前加!,如:!df
還有更多內(nèi)部方法,如: history, list, jump…
- phpmyadmin中為站點(diǎn)設(shè)置mysql權(quán)限的圖文方法
- node.js學(xué)習(xí)之交互式解釋器REPL詳解
- Linux中安裝Python的交互式解釋器IPython的教程
- 淺析mysql交互式連接&非交互式連接
- Shell腳本中非交互式修改密碼的兩種方法
- Linux下交互式與非交互式修改用戶密碼的例子
- PowerShell入門教程之高效使用PowerShell交互式運(yùn)行環(huán)境的幾個(gè)小技巧
- python實(shí)現(xiàn)定制交互式命令行的方法
- IIS 配置PHP站點(diǎn)的說(shuō)明
- PHP MYSQL簡(jiǎn)易交互式站點(diǎn)開(kāi)發(fā)
相關(guān)文章
Ruby元編程之夢(mèng)中情人method_missing方法詳解
這篇文章主要介紹了Ruby元編程之夢(mèng)中情人method_missing方法詳解,本文講解了我該怎么用 method_missing 、方法代理、define_method、什么時(shí)候用 method_missing、元方法等內(nèi)容,需要的朋友可以參考下2015-05-05
ruby實(shí)現(xiàn)網(wǎng)頁(yè)圖片抓取
本文給大家分享的是個(gè)人使用ruby編寫的抓取網(wǎng)頁(yè)圖片的代碼,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-06-06
對(duì)優(yōu)化Ruby on Rails性能的一些辦法的探究
這篇文章主要介紹了對(duì)優(yōu)化Ruby on Rails性能的一些辦法的一些探究,包括避免內(nèi)存密集型的應(yīng)用和GC等相關(guān)問(wèn)題的探討,需要的朋友可以參考下2015-11-11
Ruby on Rails中Rack中間件的基礎(chǔ)學(xué)習(xí)教程
Rack是一個(gè)連接Ruby程序與服務(wù)器程序之間的中間件,甚至可以說(shuō)Rails也是在Rack的基礎(chǔ)上建立起來(lái)的,這里我們就來(lái)為大家?guī)?lái)Ruby on Rails中Rack中間件的基礎(chǔ)學(xué)習(xí)教程2016-06-06
淺談Rails 4 中Strong Parameters機(jī)制
本文主要是通過(guò)Rails3中的Parameters與Rails4中新引入的Strong Parameters機(jī)制進(jìn)行對(duì)比,從而得出他們直接的異同2014-06-06
在Ruby on Rails中優(yōu)化ActiveRecord的方法
這篇文章主要介紹了在Ruby on Rails中優(yōu)化ActiveRecord的方法,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04
Rails中使用MySQL分區(qū)表一個(gè)提升性能的方法
這篇文章主要介紹了Rails中使用MySQL分區(qū)表一個(gè)提升性能的方法,本文總結(jié)出了一個(gè)簡(jiǎn)單的方法實(shí)現(xiàn)避免掃描全部的分區(qū)表,從而提升性能,需要的朋友可以參考下2015-03-03

