zen_to_i 0.1.0 → 0.3.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.
- checksums.yaml +4 -4
- data/README.md +24 -27
- data/bin/zen_to_i +2 -1
- data/lib/zen_to_i/constant.rb +19 -13
- data/lib/zen_to_i/mixin.rb +18 -16
- data/lib/zen_to_i/refine.rb +9 -6
- data/lib/zen_to_i/string_ext.rb +4 -4
- data/lib/zen_to_i/to_i.rb +20 -0
- data/lib/zen_to_i/version.rb +1 -1
- metadata +10 -93
- data/.gitignore +0 -17
- data/.rubocop.yml +0 -6
- data/.travis.yml +0 -6
- data/Gemfile +0 -3
- data/Rakefile +0 -1
- data/spec/refine_spec.rb +0 -13
- data/spec/string_ext_spec.rb +0 -11
- data/spec/zen_to_i_spec.rb +0 -27
- data/zen_to_i.gemspec +0 -26
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b7159a12adbda141423184a4769d10011e872607f7504df9f10ff47146d25880
|
|
4
|
+
data.tar.gz: 8b34203aaad6483c34acf49d7f7e3b07972a0dec470a56cfef3598156c9ab22d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 66e00c3a2e43a09b7cf8e8cfa78d504fd798a8403c1f787ad4e03f7a34bd1ff05d2ac4033e80405cba4fe0a8b77c09c4fca7b656751c912ea067789f81ba0a56
|
|
7
|
+
data.tar.gz: e2a84957f2e08f246c001bbfd94b4bfc1e1bbe56d2a8a1c21a51d14684d072e394060a912be352ca6a938140975b8dd79c3aeeea888abebb9e431dbddea36042
|
data/README.md
CHANGED
|
@@ -1,39 +1,38 @@
|
|
|
1
1
|
# ZenToI
|
|
2
|
-
|
|
3
|
-
漢数字が続いていたらそれぞれ変換します。
|
|
2
|
+
兆までの漢数字を半角数字に変換します。文章中に含まれる漢数字も変換できます。
|
|
4
3
|
|
|
5
|
-
[](https://github.com/yoshitsugu/zen_to_i/actions)
|
|
6
5
|
|
|
7
6
|
## Installation
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
Install via RubyGems.
|
|
10
9
|
|
|
11
10
|
$ gem install zen_to_i
|
|
12
11
|
|
|
13
|
-
Or,
|
|
12
|
+
Or, use Bundler. Add this line to your application's Gemfile:
|
|
14
13
|
|
|
15
|
-
```ruby
|
|
16
|
-
gem
|
|
14
|
+
```ruby
|
|
15
|
+
gem "zen_to_i"
|
|
17
16
|
```
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
Then run:
|
|
20
19
|
|
|
21
20
|
$ bundle
|
|
22
21
|
|
|
23
22
|
## Usage
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
### 1. Use the `zen_to_i` command from your shell
|
|
26
25
|
|
|
27
26
|
$ zen_to_i "一二三"
|
|
28
27
|
123
|
|
29
28
|
|
|
30
|
-
# or
|
|
29
|
+
# or use a pipe
|
|
31
30
|
$ echo "一二三" | zen_to_i
|
|
32
31
|
123
|
|
33
32
|
|
|
34
|
-
Please
|
|
33
|
+
Please run `bundle exec zen_to_i` if you installed the gem via Bundler.
|
|
35
34
|
|
|
36
|
-
### 2.
|
|
35
|
+
### 2. Use it in your Ruby script
|
|
37
36
|
|
|
38
37
|
```ruby
|
|
39
38
|
require 'zen_to_i'
|
|
@@ -50,10 +49,9 @@ require 'zen_to_i'
|
|
|
50
49
|
"三兆五十二万四十八".zen_to_i
|
|
51
50
|
#=> "3000000520048"
|
|
52
51
|
```
|
|
53
|
-
Note that `zen_to_i` returns String, not Integer.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
This returns Integer same as default `to_i` method.
|
|
52
|
+
Note that `zen_to_i` returns a String, not an Integer.
|
|
53
|
+
|
|
54
|
+
You can also override `to_i` with a refinement. The override is active only in the lexical scope where `using ZenToI::Refine` appears, and returns an Integer like the built-in `to_i` method.
|
|
57
55
|
|
|
58
56
|
```ruby
|
|
59
57
|
require "zen_to_i/refine"
|
|
@@ -61,30 +59,29 @@ require "zen_to_i/refine"
|
|
|
61
59
|
using ZenToI::Refine
|
|
62
60
|
|
|
63
61
|
"一二三".zen_to_i
|
|
64
|
-
#=> "
|
|
62
|
+
#=> "123"
|
|
65
63
|
|
|
66
64
|
"一二三".to_i
|
|
67
|
-
#=>
|
|
65
|
+
#=> 123
|
|
68
66
|
```
|
|
69
67
|
|
|
70
|
-
|
|
71
|
-
Of course it is very dangerous. Please be careful to use it.
|
|
68
|
+
You can also replace `String#to_i` globally by requiring `zen_to_i/string_ext`. This affects all strings in the process; the original `to_i` implementation remains available as `String#_to_i`. Use this only when a global override is intended.
|
|
72
69
|
|
|
73
70
|
```ruby
|
|
74
71
|
require "zen_to_i/string_ext"
|
|
75
72
|
|
|
76
73
|
"一二三".zen_to_i
|
|
77
|
-
#=> "
|
|
74
|
+
#=> "123"
|
|
78
75
|
|
|
79
76
|
"一二三".to_i
|
|
80
|
-
#=>
|
|
77
|
+
#=> 123
|
|
81
78
|
```
|
|
82
79
|
|
|
83
80
|
|
|
84
81
|
## Contributing
|
|
85
82
|
|
|
86
|
-
1. Fork
|
|
87
|
-
2. Create
|
|
88
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
|
89
|
-
4. Push
|
|
90
|
-
5. Create
|
|
83
|
+
1. Fork the repository.
|
|
84
|
+
2. Create a feature branch (`git checkout -b my-new-feature`).
|
|
85
|
+
3. Commit your changes (`git commit -am 'Add some feature'`).
|
|
86
|
+
4. Push the branch (`git push origin my-new-feature`).
|
|
87
|
+
5. Create a pull request.
|
data/bin/zen_to_i
CHANGED
data/lib/zen_to_i/constant.rb
CHANGED
|
@@ -2,17 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
module ZenToI
|
|
4
4
|
module Constant
|
|
5
|
-
KANNUM
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
5
|
+
unless const_defined?(:KANNUM, false)
|
|
6
|
+
KANNUM = { "〇" => 0, "" => 1, "一" => 1, "二" => 2, "三" => 3, "四" => 4,
|
|
7
|
+
"五" => 5, "六" => 6, "七" => 7, "八" => 8, "九" => 9,
|
|
8
|
+
"零" => 0, "壱" => 1, "弐" => 2, "参" => 3, "肆" => 4,
|
|
9
|
+
"伍" => 5, "陸" => 6, "漆" => 7, "捌" => 8, "玖" => 9 }.freeze
|
|
10
|
+
KANORDER = { "十" => 10, "百" => 100, "千" => 1000, "" => 1, "拾" => 10,
|
|
11
|
+
"陌" => 100, "佰" => 100, "阡" => 1000, "仟" => 1000 }.freeze
|
|
12
|
+
KANORDER_F = { "万" => 10**4, "億" => 10**8, "兆" => 10**12,
|
|
13
|
+
"" => 1, "萬" => 10**4 }.freeze
|
|
14
|
+
ALL_KANSUUJI = KANNUM.keys + KANORDER.keys + KANORDER_F.keys
|
|
15
|
+
MAX_LOOP = 100
|
|
16
|
+
KANORDER_F_KEYS_REGEX = /([^#{KANORDER_F.keys.join("")}]*)([#{KANORDER_F.keys.join("")}]?)/
|
|
17
|
+
KANORDER_KEYS_REGEX = /([^#{KANORDER.keys.join("")}]*)([#{KANORDER.keys.join("")}]?)/
|
|
18
|
+
ALL_KANSUUJI_REGEX = /([#{ALL_KANSUUJI.join("")}]+)/
|
|
19
|
+
KANNUM_PAIR_REGEX = /([#{KANNUM.keys.join("")}])([#{KANNUM.keys.join("")}])/
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
Constant.freeze
|
|
18
24
|
end
|
data/lib/zen_to_i/mixin.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative "
|
|
3
|
+
require_relative "constant"
|
|
4
4
|
|
|
5
5
|
module ZenToI
|
|
6
6
|
module Mixin
|
|
@@ -26,7 +26,7 @@ module ZenToI
|
|
|
26
26
|
|
|
27
27
|
# 漢数字のところだけ切り出す
|
|
28
28
|
def split_kansuuji(string)
|
|
29
|
-
string.split(
|
|
29
|
+
string.split(ALL_KANSUUJI_REGEX)
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
# 位を表す数ではない普通の漢数字が続いていたらわける
|
|
@@ -44,9 +44,8 @@ module ZenToI
|
|
|
44
44
|
|
|
45
45
|
def split_kansuuji_detail_inner(array)
|
|
46
46
|
ary = array.map do |a|
|
|
47
|
-
if
|
|
48
|
-
|
|
49
|
-
a.gsub(/([#{kannum}])([#{kannum}])/, '\1,\2').split(",")
|
|
47
|
+
if ALL_KANSUUJI_REGEX.match?(a)
|
|
48
|
+
a.gsub(KANNUM_PAIR_REGEX, '\1,\2').split(",")
|
|
50
49
|
else
|
|
51
50
|
a
|
|
52
51
|
end
|
|
@@ -58,24 +57,27 @@ module ZenToI
|
|
|
58
57
|
# それぞれに対して漢数字→数字を実行している。
|
|
59
58
|
def convert_kansuuji(array)
|
|
60
59
|
array.map do |a|
|
|
61
|
-
if
|
|
62
|
-
a
|
|
63
|
-
unit_i = unit.scan(KANORDER_KEYS_REGEX).inject(-1) do |tmp, (kanji, order)|
|
|
64
|
-
tmp + KANNUM[kanji].to_i * KANORDER[order].to_i
|
|
65
|
-
end
|
|
66
|
-
ret + unit_i * KANORDER_F[order_f].to_i
|
|
67
|
-
end
|
|
60
|
+
if ALL_KANSUUJI_REGEX.match?(a)
|
|
61
|
+
sum_kansuuji(a)
|
|
68
62
|
else
|
|
69
63
|
a
|
|
70
64
|
end
|
|
71
65
|
end
|
|
72
66
|
end
|
|
73
67
|
|
|
74
|
-
def
|
|
75
|
-
|
|
76
|
-
|
|
68
|
+
def sum_kansuuji(str)
|
|
69
|
+
str.scan(KANORDER_F_KEYS_REGEX).inject(0) do |ret, (unit, order_f)|
|
|
70
|
+
ret + (unit_to_i(unit, order_f) * KANORDER_F[order_f].to_i)
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# 大字だけの表記は 1 個分として数え、scan の末尾の空一致は桁を持たないので 0 とする。
|
|
75
|
+
def unit_to_i(unit, order_f)
|
|
76
|
+
return order_f.empty? ? 0 : 1 if unit.empty?
|
|
77
|
+
|
|
78
|
+
unit.scan(KANORDER_KEYS_REGEX).inject(-1) do |tmp, (kanji, order)|
|
|
79
|
+
tmp + (KANNUM[kanji].to_i * KANORDER[order].to_i)
|
|
77
80
|
end
|
|
78
|
-
string
|
|
79
81
|
end
|
|
80
82
|
end
|
|
81
83
|
end
|
data/lib/zen_to_i/refine.rb
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require_relative "../zen_to_i"
|
|
4
|
+
require_relative "to_i"
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
# 読み込んでも String#to_i は変わらない。`using ZenToI::Refine` した範囲だけで差し替えが有効になる。
|
|
7
|
+
module ZenToI
|
|
8
|
+
unless const_defined?(:Refine, false)
|
|
9
|
+
module Refine
|
|
10
|
+
refine String do
|
|
11
|
+
define_method(:_to_i, ZenToI::ToI.instance_method(:_to_i))
|
|
12
|
+
define_method(:to_i, ZenToI::ToI.instance_method(:to_i))
|
|
13
|
+
end
|
|
11
14
|
end
|
|
12
15
|
end
|
|
13
16
|
end
|
data/lib/zen_to_i/string_ext.rb
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require_relative "../zen_to_i"
|
|
4
|
+
require_relative "to_i"
|
|
4
5
|
|
|
6
|
+
# 読み込むと String#to_i が漢数字変換に差し替わる。元の実装は String#_to_i に残る。
|
|
5
7
|
class String
|
|
6
|
-
|
|
8
|
+
alias _to_i to_i unless String.method_defined?(:_to_i, false)
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
self.zen_to_i._to_i
|
|
10
|
-
end
|
|
10
|
+
define_method(:to_i, ZenToI::ToI.instance_method(:to_i))
|
|
11
11
|
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../zen_to_i"
|
|
4
|
+
|
|
5
|
+
module ZenToI
|
|
6
|
+
# string_ext.rb(グローバルに適用)と refine.rb(refinement 経由)で共有する。
|
|
7
|
+
module ToI
|
|
8
|
+
# 差し替え前の String#to_i を保持する。読み込み時点で String 自身が持つ
|
|
9
|
+
# ネイティブ実装を捕捉し、どのロード順でも素の to_i を参照できるようにする。
|
|
10
|
+
ORIGINAL_TO_I = String.instance_method(:to_i) unless const_defined?(:ORIGINAL_TO_I, false)
|
|
11
|
+
|
|
12
|
+
def to_i
|
|
13
|
+
ORIGINAL_TO_I.bind(zen_to_i).call
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def _to_i(*)
|
|
17
|
+
ORIGINAL_TO_I.bind(self).call(*)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
data/lib/zen_to_i/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,85 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zen_to_i
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- yoshitsugu
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
-
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: bundler
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - ">="
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0'
|
|
20
|
-
type: :development
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - ">="
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: onkcop
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - ">="
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - ">="
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: pry
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: rake
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - ">="
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ">="
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: rspec
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - ">="
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - ">="
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies: []
|
|
83
12
|
description: 全角文字に含まれる数字を半角の数値に変換。兆まで対応
|
|
84
13
|
email:
|
|
85
14
|
- zeroinon1206bass@gmail.com
|
|
@@ -88,29 +17,21 @@ executables:
|
|
|
88
17
|
extensions: []
|
|
89
18
|
extra_rdoc_files: []
|
|
90
19
|
files:
|
|
91
|
-
- ".gitignore"
|
|
92
|
-
- ".rubocop.yml"
|
|
93
|
-
- ".travis.yml"
|
|
94
|
-
- Gemfile
|
|
95
20
|
- LICENSE.txt
|
|
96
21
|
- README.md
|
|
97
|
-
- Rakefile
|
|
98
22
|
- bin/zen_to_i
|
|
99
23
|
- lib/zen_to_i.rb
|
|
100
24
|
- lib/zen_to_i/constant.rb
|
|
101
25
|
- lib/zen_to_i/mixin.rb
|
|
102
26
|
- lib/zen_to_i/refine.rb
|
|
103
27
|
- lib/zen_to_i/string_ext.rb
|
|
28
|
+
- lib/zen_to_i/to_i.rb
|
|
104
29
|
- lib/zen_to_i/version.rb
|
|
105
|
-
|
|
106
|
-
- spec/string_ext_spec.rb
|
|
107
|
-
- spec/zen_to_i_spec.rb
|
|
108
|
-
- zen_to_i.gemspec
|
|
109
|
-
homepage: ''
|
|
30
|
+
homepage: https://github.com/yoshitsugu/zen_to_i
|
|
110
31
|
licenses:
|
|
111
32
|
- MIT
|
|
112
|
-
metadata:
|
|
113
|
-
|
|
33
|
+
metadata:
|
|
34
|
+
rubygems_mfa_required: 'true'
|
|
114
35
|
rdoc_options: []
|
|
115
36
|
require_paths:
|
|
116
37
|
- lib
|
|
@@ -118,18 +39,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
118
39
|
requirements:
|
|
119
40
|
- - ">="
|
|
120
41
|
- !ruby/object:Gem::Version
|
|
121
|
-
version:
|
|
42
|
+
version: 3.4.0
|
|
122
43
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
44
|
requirements:
|
|
124
45
|
- - ">="
|
|
125
46
|
- !ruby/object:Gem::Version
|
|
126
47
|
version: '0'
|
|
127
48
|
requirements: []
|
|
128
|
-
rubygems_version:
|
|
129
|
-
signing_key:
|
|
49
|
+
rubygems_version: 4.0.20
|
|
130
50
|
specification_version: 4
|
|
131
51
|
summary: Japanese zenkaku to number
|
|
132
|
-
test_files:
|
|
133
|
-
- spec/refine_spec.rb
|
|
134
|
-
- spec/string_ext_spec.rb
|
|
135
|
-
- spec/zen_to_i_spec.rb
|
|
52
|
+
test_files: []
|
data/.gitignore
DELETED
data/.rubocop.yml
DELETED
data/.travis.yml
DELETED
data/Gemfile
DELETED
data/Rakefile
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require "bundler/gem_tasks"
|
data/spec/refine_spec.rb
DELETED
data/spec/string_ext_spec.rb
DELETED
data/spec/zen_to_i_spec.rb
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "zen_to_i"
|
|
4
|
-
|
|
5
|
-
describe ZenToI do
|
|
6
|
-
describe "String#zen_to_i" do
|
|
7
|
-
it "数字以外の文字の場合はそのまま返す" do
|
|
8
|
-
expect("hoge".zen_to_i).to eq "hoge"
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
it "漢数字の場合は半角数字に変換する" do
|
|
12
|
-
expect("一二三".zen_to_i).to eq "123"
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it "位をあらわす漢数字を含む場合も半角数字に変換する" do
|
|
16
|
-
expect("百三".zen_to_i).to eq "103"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
it "兆の位まで半角数字に変換する" do
|
|
20
|
-
expect("三兆五十二万四十八".zen_to_i).to eq "3000000520048"
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
it "大字でも変換可能" do
|
|
24
|
-
expect("肆佰参拾捌".zen_to_i).to eq "438"
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
data/zen_to_i.gemspec
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
lib = File.expand_path("lib", __dir__)
|
|
2
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
-
require "zen_to_i/version"
|
|
4
|
-
|
|
5
|
-
Gem::Specification.new do |spec|
|
|
6
|
-
spec.name = "zen_to_i"
|
|
7
|
-
spec.version = ZenToI::VERSION
|
|
8
|
-
spec.authors = ["yoshitsugu"]
|
|
9
|
-
spec.email = ["zeroinon1206bass@gmail.com"]
|
|
10
|
-
spec.description = "全角文字に含まれる数字を半角の数値に変換。兆まで対応"
|
|
11
|
-
spec.summary = "Japanese zenkaku to number"
|
|
12
|
-
spec.homepage = ""
|
|
13
|
-
spec.license = "MIT"
|
|
14
|
-
spec.required_ruby_version = ">= 2.4.6"
|
|
15
|
-
|
|
16
|
-
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
|
17
|
-
spec.executables = spec.files.grep(%r{^bin/}) {|f| File.basename(f) }
|
|
18
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
|
-
spec.require_paths = ["lib"]
|
|
20
|
-
|
|
21
|
-
spec.add_development_dependency "bundler"
|
|
22
|
-
spec.add_development_dependency "onkcop"
|
|
23
|
-
spec.add_development_dependency "pry"
|
|
24
|
-
spec.add_development_dependency "rake"
|
|
25
|
-
spec.add_development_dependency "rspec"
|
|
26
|
-
end
|