ruby開發的互動式程式例子_ruby專題

來源:互聯網
上載者:User

實現pry,ronin,msf類似的終端下互動功能,這裡主要用到了ripl gem:

1.能夠調用定義的方法,如help
2.能夠執行系統命令
3.能夠類似irb/pry進行ruby語言解析

安裝:

gem install riplgem 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_blueRipl.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" endenddodo = Dodolook.newverison = "1.0.3"Ripl.start :binding => dodo.instance_eval{ binding }

使用

在終端下運行程式後,出現[0] cmd>這樣的提示,其中help、name、dodo這些變數/方法可以tab補全。

運行shell命令前加!,如:!df
還有更多內部方法,如: history, list, jump…

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.