wxl_console 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []