wxl_console 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/wxl_console.rb +89 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: fb18c3f78ede57d13d5d7edae3311327508928f725dfbbc5a8445efc203aa37f
4
+ data.tar.gz: 64b74ab56814ab54b36187e931e380e274b58e6b35a6930848d2854caa9d8c0e
5
+ SHA512:
6
+ metadata.gz: ff2ccd6feaca0ac6a181b303b74fbe9a2a3e582e1c587f33fef0067ff3cf18774a148ca35a89e1a7e02d8952029fa5299aa1b80d3753468073b810f0cda49d56
7
+ data.tar.gz: 0febe4a5a7d614830bd8a243c705328d360b0be4a196a98e24eb8ba3b2e77ee153b8c4c4e49d7ba87f68c2573b939f5f94395ed3e1ebc3c8c1207acb2a29a1fb
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env ruby
2
+ # coding: utf-8
3
+ #如果报readline找不到,需要
4
+ #1,yum -y install readline readline-devel
5
+ #2,重新编译ruby 加上--with-ext ./configure --prefix=/opt/ruby_2.2.3/ --with-ext
6
+
7
+ ########################################################
8
+ # 加载库
9
+ ########################################################
10
+ begin
11
+ require "readline"
12
+ require "gdbm" #支持中文
13
+ require 'socket'
14
+ rescue Exception => e
15
+ p e.message
16
+ end
17
+
18
+
19
+ class C_控制台
20
+
21
+ def initialize(外部绑定=TOPLEVEL_BINDING)
22
+ @命令段落=""
23
+ @命令行提示符="->"
24
+ #
25
+ # 配置参数
26
+ #
27
+ @代码回显=false
28
+ @执行回显=true
29
+ @外部绑定=外部绑定
30
+ @内部绑定=binding
31
+ end
32
+
33
+ def 开启
34
+ while 读取行 = Readline.readline(@命令行提示符, true)
35
+ #退出
36
+ exit if 读取行=='exit' || 读取行=='quit' ;
37
+ if ! 读取行.include? ";"
38
+ @命令段落 << 读取行 + "\n"
39
+ @命令行提示符=" "
40
+ else
41
+ @命令段落 << 读取行
42
+ puts "#{@命令段落}" if @代码回显
43
+ if @命令段落.include?('配置') or @命令段落.include?('切换代码回显') or @命令段落.include?('切换执行回显') or @命令段落.include?('帮助')
44
+ begin
45
+ eval @命令段落 , @内部绑定
46
+ rescue Exception => e
47
+ puts e
48
+ end
49
+ else
50
+ begin
51
+ eval @命令段落 , @外部绑定
52
+ rescue Exception => e
53
+ puts e
54
+ end
55
+
56
+ end
57
+ @命令段落=''
58
+ @命令行提示符="->"
59
+ end
60
+ end
61
+ end
62
+
63
+ def 配置
64
+ puts "@代码回显 #{@代码回显}"
65
+ puts "@执行回显 #{@执行回显}"
66
+ end
67
+ def 切换代码回显
68
+ @代码回显 = ! @代码回显
69
+ end
70
+
71
+ def 切换执行回显
72
+ @执行回显 = ! @执行回显
73
+ end
74
+
75
+ def 帮助
76
+ puts "命令:"
77
+ puts " 配置; #显示配置参数"
78
+ puts " 帮助; #显示帮助内容"
79
+ puts " 切换代码回显; #切换代码的回显设置"
80
+ puts " 切换执行回显; #切换执行的回显设置"
81
+ end
82
+ end
83
+
84
+
85
+ #C_控制台.new().开启
86
+
87
+
88
+
89
+
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wxl_console
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - wxl
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-12-15 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: 这是一个可以用于代码中断,调试和手工干预代码运行的gem,它有点像irb,但是非常简单。
14
+ email: wangxl_bj2008@foxmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - "./lib/wxl_console.rb"
20
+ homepage: https://github.com/lebashupian/wxl_console
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.2.0
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.7.6
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: 一个简化版的irb
44
+ test_files: []