Skip to content

Instantly share code, notes, and snippets.

@wildjcrt
Last active September 27, 2018 00:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wildjcrt/e81eae05f169d9984add4b361f6104f5 to your computer and use it in GitHub Desktop.
Save wildjcrt/e81eae05f169d9984add4b361f6104f5 to your computer and use it in GitHub Desktop.
require 'json'
keys_h=Hash.new(0)
keys_d=Hash.new(0)
values_h=Hash.new(0)
values_d=Hash.new(0)
counter=0
Dir['*'].each do |filename|
next if filename.match(/\.json/).nil?
next unless filename.sub(/\.json/, '').match(/\=|stem-words|index|lenToRegex|ch-mapping|stem-ch-mapping|lenToRegex|precomputed/).nil?
json = JSON.parse(File.read(filename))
json['h'].each do |value_h|
value_h.keys.each do |element|
keys_h[element] += 1
values_h[value_h[element].class.to_s] += 1
end
value_h['d'].each do |value_d|
counter += 1
value_d.keys.each do |element|
keys_d[element] += 1
values_d[value_d[element].class.to_s] += 1
end
end
end
end
puts keys_h.inspect # => {"d"=>87}
puts values_h.inspect # => {"Array"=>87}
puts counter # => 100
puts keys_d.inspect # => {"s"=>56, "f"=>100, "type"=>11, "e"=>18}
puts values_d.inspect # => {"Array"=>74, "String"=>111}
require 'json'
keys=Hash.new(0)
values=Hash.new(0)
Dir['*'].each do |filename|
next if filename.match(/\.json/).nil?
next unless filename.sub(/\.json/, '').match(/\=|stem-words|index|lenToRegex|ch-mapping|stem-ch-mapping|lenToRegex|precomputed/).nil?
json = JSON.parse(File.read(filename))
array = json.flatten
array.each_with_index do |element, i|
if i.even?
keys[element] += 1
else
values["#{element.class.to_s}#{i}"] += 1
end
end
end
puts keys.inspect # => {"h"=>39449, "t"=>39449, "stem"=>33099, "tag"=>4182}
puts values.inspect # => {"Array1"=>39449, "String3"=>39449, "String5"=>33420, "String7"=>3861}
@wildjcrt
Copy link
Author

old code

require 'json'
h=0
stem=0
t=0
Dir['*'].each do |filename|
  if filename.match(/\.json/).nil?
    puts filename
    next
  end

  unless filename.sub(/\.json/, '').match(/\=|stem-words|index|lenToRegex|ch-mapping|stem-ch-mapping|lenToRegex|precomputed/).nil?
    puts filename
    next
  end
  
  # File.open('debug.log', 'w') { |f| f.puts filename }
  json = JSON.parse(File.read(filename))
  json = json.flatten
  if json[0]=='h' && json[1].is_a?(Array)
    h+=1
    
    if json[2]=='stem' && json[3].is_a?(String)
      stem+=1
    elsif json[2]=='t' && json[3].is_a?(String)
      t+=1
    end
    
    if json[4]=='t' && json[5].is_a?(String)
      t+=1
    end
  else
    File.open('debug.log', 'w') { |f| f.puts filename }
  end
end

puts h
puts stem
puts t

@wildjcrt
Copy link
Author

排除統計檔案
precomputed.json
stem-words.json
lenToRegex.3.json
lenToRegex.2.json
ta'ta'en = tata'en.json
revdict-amis-def.txt
=.json
revdict-amis-ex.txt
lenToRegex.json
lenToRegex.4.json
stem-ch-mapping.json
debug.log
check.rb
index.json
ch-mapping.json

@wildjcrt
Copy link
Author

wildjcrt commented Sep 26, 2018

蔡中涵大辭典

amis-json-spec-check.rb

puts keys.inspect # => {"h"=>39449, "t"=>39449, "stem"=>33099, "tag"=>4182}
puts values.inspect # => {"Array1"=>39449, "String3"=>39449, "String5"=>33420, "String7"=>3861}

amis-json-spec-check-deeper.rb

puts keys_h.inspect # => {"d"=>40500}
puts values_h.inspect # => {"Array"=>40500}

puts counter # => 53487
puts keys_d.inspect # => {"s"=>9028, "e"=>28141, "f"=>53487}
puts values_d.inspect # => {"Array"=>37169, "String"=>53487}

@wildjcrt
Copy link
Author

方敏英字典

amis-json-spec-check.rb

puts keys.inspect # => {"h"=>4793, "t"=>4793}
puts values.inspect # => {"Array1"=>4793, "String3"=>4793}

amis-json-spec-check-deeper.rb

puts keys_h.inspect # => {"d"=>4793}
puts values_h.inspect # => {"Array"=>4793}

puts counter # => 6053
puts keys_d.inspect # => {"f"=>6053, "s"=>2389, "e"=>1228}
puts values_d.inspect # => {"String"=>6053, "Array"=>3617}

@wildjcrt
Copy link
Author

潘世光、博利亞阿法字典

amis-json-spec-check.rb

puts keys.inspect # => {"h"=>87, "t"=>87}
puts values.inspect # => {"Array1"=>87, "String3"=>87}

amis-json-spec-check-deeper.rb

puts keys_h.inspect # => {"d"=>87}
puts values_h.inspect # => {"Array"=>87}

puts counter # => 100
puts keys_d.inspect # => {"s"=>56, "f"=>100, "type"=>11, "e"=>18}
puts values_d.inspect # => {"Array"=>74, "String"=>111}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment