zhrb 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +7 -0
  2. data/bin/zhrb +4 -0
  3. data/lib/mapping.yml +9 -0
  4. data/lib/zhrb.rb +19 -0
  5. metadata +48 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e80440f335ada544a3cea6c2bd3286a523240e2e
4
+ data.tar.gz: 2e86199711f7d6a2b759fe129224e027b8171967
5
+ SHA512:
6
+ metadata.gz: 972be351a9505c1488f81964d42e3af12efef3362b158e96e561f74ce947eac39fc76e8c79d633aac5aa94725d24e7b59a54bd677955fe580aa11d146b733d83
7
+ data.tar.gz: cc657fb9b1705fb00498b4adbf54f2e705059ae455b0d8770e8cfce64e850a932fbb18cf2e6ed58c865b3b3047ab81baac67304c792d9c4ecf2a92cc49c5ca8f
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require 'zhrb'
3
+
4
+ ZHRB.eval File.read(ARGV[0]) rescue puts $!
@@ -0,0 +1,9 @@
1
+ 類: class
2
+ 生成: new
3
+ 初始化: initialize
4
+ 模組: module
5
+ 定義: def
6
+ 結束: end
7
+ 回傳: return
8
+ 印出: puts
9
+ 每個: each
@@ -0,0 +1,19 @@
1
+ require 'yaml'
2
+
3
+ module ZHRB
4
+ class << self
5
+ def eval code
6
+ super compile(code)
7
+ end
8
+
9
+ def compile code
10
+ code.scan(/類\s+(\S+)/m).each do |matched|
11
+ matched = matched.first
12
+ code.gsub!(/(\s)(#{matched}[\.\s])/, '\1C\2')
13
+ end
14
+ @mapping ||= YAML.load(File.read(File.join(__dir__, 'mapping.yml')))
15
+ @mapping.each{|key, value| code.gsub!(key, value) }
16
+ code
17
+ end
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,48 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zhrb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Tony
8
+ - Jian
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-12-27 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Program Ruby in Chinese
15
+ email: tonytonyjan@gmail.com
16
+ executables:
17
+ - zhrb
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - bin/zhrb
22
+ - lib/mapping.yml
23
+ - lib/zhrb.rb
24
+ homepage: http://tonytonyjan.net
25
+ licenses:
26
+ - MIT
27
+ metadata: {}
28
+ post_install_message:
29
+ rdoc_options: []
30
+ require_paths:
31
+ - lib
32
+ required_ruby_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ required_rubygems_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements: []
43
+ rubyforge_project:
44
+ rubygems_version: 2.2.0.rc.1
45
+ signing_key:
46
+ specification_version: 4
47
+ summary: Program Ruby in Chinese
48
+ test_files: []