cmp_text 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84dafe62622075eada13f8af7dcdabe8c0ad1954
4
- data.tar.gz: 82dd55b1976d2b52696e1a81bb70aed960510b4b
3
+ metadata.gz: 5b86b1adf38b65156b8ab2a97c6dfaa70f100e55
4
+ data.tar.gz: 8ba73d5ecf9ceeb5867c87457a81afc72c61e3de
5
5
  SHA512:
6
- metadata.gz: cbb69c5d0bc0fe77d22e14978d99955ce6093d19e8f88d368786513fe58b65938ca2a29f987b67e4cbf9ffe7f3fbfcb6586ba62cfef07d03fca98c0c65affdf7
7
- data.tar.gz: c49f18537adf1197b9344015e5b2caee6a55f8af24b94e93d7f2a463c4697978c27da6b0041c27a8fbeef9ed107559d3de96278dfad8942b999fc81075e61ff1
6
+ metadata.gz: 94c9426a43779d71016b3d15b43dc98dd6029d3e84c9fa8beb6d1213964f4fd28bc64fab488b8ae2bcefdb58f23058bd0c4144646c1e8849d6a99e164bd17a64
7
+ data.tar.gz: d8bcadf974ae4a4cca146414be0e0cbf2e5a0a25368ef6853edd2362dcb675a3f89ad86792554e024d6d6ba2afd083be9cd1d74a460710773a7a9255513b637d
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # CmpText
2
- 最新版本 0.1.2
2
+ 最新版本 0.1.4
3
3
  ## Installation
4
4
 
5
5
  添加这行代码到你的 Gemfile:
@@ -34,7 +34,7 @@ gem 'cmp_text'
34
34
  例如直接输入两个字符串:
35
35
 
36
36
  ```ruby
37
- CmpText::Analysis.txt_cmp('我来自武汉','我来自中国') # => 0.6
37
+ CmpText::Analysis.txt_cmp('我来自武汉','我来自中国') # => 0.60
38
38
  ```
39
39
 
40
40
  或者用print方法打印出JSON结果, 'succ_char'比对成功的部分,'failed_char'比对失败的部分:
@@ -1,3 +1,3 @@
1
1
  module CmpText
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
data/lib/cmp_text.rb CHANGED
@@ -12,6 +12,13 @@ module CmpText
12
12
  def txt_cmp(f0, f1)
13
13
  str_f0, str_f1 = open(f0), open(f1)
14
14
 
15
+ arr_f0_each_char = str_f0.dup.split('')
16
+ arr_f1_each_char = str_f1.dup.split('')
17
+ str_f0_size = str_f0.dup.size
18
+ str_f1_size = str_f1.dup.size
19
+
20
+ return 0.00 if [str_f0_size, str_f1_size].max == 0
21
+
15
22
  @log_text = {
16
23
  or_text_1: str_f0.dup,
17
24
  or_text_2: str_f1.dup,
@@ -19,11 +26,6 @@ module CmpText
19
26
  failed_char: []
20
27
  }
21
28
 
22
- arr_f0_each_char = str_f0.dup.split('')
23
- arr_f1_each_char = str_f1.dup.split('')
24
- str_f0_size = str_f0.dup.size
25
- str_f1_size = str_f1.dup.size
26
-
27
29
  arr_f0_each_char.each_with_index do |char, index|
28
30
  cmp = false
29
31
  break if [arr_f0_each_char.size, arr_f1_each_char.size].any?{|size| size == 0}
@@ -48,21 +50,19 @@ module CmpText
48
50
  end
49
51
 
50
52
  @log_text[:failed_char] << arr_f0_each_char.join << arr_f1_each_char.join
51
-
53
+
52
54
  @log_text[:failed_char].delete('')
53
55
 
54
56
  result = @log_text[:succ_char].join.size.to_f / [ @log_text[:or_text_1].size.to_f, @log_text[:or_text_2].size.to_f].max
57
+
58
+ result.round(2)
55
59
  end
56
60
 
57
61
  def print(f0, f1)
58
62
  result = txt_cmp(f0, f1)
59
63
 
60
- { result: "匹配度是 #{(result * 100).round(3)}%", data: @log_text}
64
+ { result: "匹配度是 #{(result * 100).round(4)}%", data: @log_text}
61
65
  end
62
66
  end
63
67
  end
64
68
  end
65
-
66
-
67
-
68
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmp_text
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - zhouxiaozhen