作者:zhaojiapin_313 | 来源:互联网 | 2023-02-13 09:26
1> spickermann..:
您可以使用Abbrev.abbrev
生成明确缩写的列表.因为它生成一个哈希,缩写为键,单词为值,我们需要首先提取最短的缩写和交换键和值.
require 'abbrev'
word_to_abbr = Abbrev.abbrev(h.keys)
.group_by { |k, v| v }
.map { |k, v| [k, v.flatten.min_by(&:length)] }
.to_h
output = {}
h.each { |k, v| output[word_to_abbr[k].to_s] = v }
output
#=> {
# "Wilhelm_C" => "http://www.example.com/w2xtt4w/001_1901.jpg",
# "Hen" => "http://www.example.com/apbfksz/004_1902.jpg",
# "P" => "http://www.example.com/d2cpwj3/007_1902.jpg",
# "An" => "http://www.example.com/g8sueyg/010_1903.jpg",
# "Mar" => "http://www.example.com/gfcgur8/013_1903.jpg",
# "Lor" => "http://www.example.com/dcjiwq8/016_1904.jpg",
# "Jos" => "http://www.example.com/4a66bc9/019_1906.jpg",
# "Ga" => "http://www.example.com/xjefgoa/022_1908.jpg",
# "Gug" => "http://www.example.com/x359w62/025_1909.jpg",
# "K" => "http://www.example.com/1edm469/028_1909.jpg",
# "Johannes_D" => "http://www.example.com/31hpue7/031_1910.jpg",
# "Wilhelm_W" => "http://www.example.com/yel9iff/034_1911.jpg",
# "Nil" => "http://www.example.com/iezss59/037_1912.jpg",
# "Hei" => "http://www.example.com/8zl4uj2/040_1913.jpg",
# "Max_v" => "http://www.example.com/ta3w6rn/043_1914.jpg",
# "William_H" => "http://www.example.com/u43qn5h/046_1915.jpg",
# "William_L" => "http://www.example.com/n7gkk6e/049_1915.jpg",
# "Charles_G" => "http://www.example.com/2kxxroc/052_1917.jpg",
# "Max_P" => "http://www.example.com/eyw7tm6/055_1918.jpg",
# "Johannes_S" => "http://www.example.com/gcjcv2p/058_1919.jpg",
# "Charles_É" => "http://www.example.com/nox3s6o/061_1920.jpg",
# "Nie" => "http://www.example.com/mo9ga29/064_1922.jpg",
# "R" => "http://www.example.com/kxq71if/067_1923.jpg",
# "Man" => "http://www.example.com/2uwhw9y/070_1924.jpg",
# "Ja" => "http://www.example.com/iwdavip/073_1925.jpg",
# "Gus" => "http://www.example.com/73mbso2/076_1925.jpg",
# "Je" => "http://www.example.com/rgugmas/079_1926.jpg",
# "Ar" => "http://www.example.com/vy7is1v/082_1927.jpg",
# "O" => "http://www.example.com/3jz5ve8/085_1928.jpg",
# "Lou" => "http://www.example.com/srvj8d5/088_1929.jpg",
# "John" => "http://www.example.com/7op2wb1/091_1929.jpg",
# "Chan" => "http://www.example.com/1vqqwua/094_1930.jpg"
# }