Te damos la contestación a este asunto, o por lo menos eso pensamos. Si sigues con interrogantes puedes escribirlo en el apartado de comentarios y sin dudarlo te responderemos
Calcula el conjunto de abreviaturas inequívocas para un conjunto de cadenas dado.
require'abbrev'require'pp' pp Abbrev.abbrev(['ruby'])#=> "ruby"=>"ruby", "rub"=>"ruby", "ru"=>"ruby", "r"=>"ruby" pp Abbrev.abbrev(%w ruby rules )
Genera:
"ruby"=>"ruby","rub"=>"ruby","rules"=>"rules","rule"=>"rules","rul"=>"rules"
También proporciona una array extensión del núcleo, Array#abbrev
.
pp %w summer winter .abbrev
Genera:
"summer"=>"summer","summe"=>"summer","summ"=>"summer","sum"=>"summer","su"=>"summer","s"=>"summer","winter"=>"winter","winte"=>"winter","wint"=>"winter","win"=>"winter","wi"=>"winter","w"=>"winter"
Métodos de clase pública
abrev(palabras, patrón = nulo)Mostrar fuente
# File lib/abbrev.rb, line 73defabbrev(words, pattern =nil) table = seen =Hash.new(0)if pattern.is_a?(String) pattern =/A#Regexp.quote(pattern)/# regard as a prefixend words.eachdo|word|nextif word.empty? word.size.downto(1) abbrev = word[0...len]nextif pattern && pattern !~ abbrev case seen[abbrev]+=1when1 table[abbrev]= word when2 table.delete(abbrev)elsebreakendend words.eachdo|word|nextif pattern && pattern !~ word table[word]= word end table end
Dado un conjunto de cadenas, calcule el conjunto de abreviaturas inequívocas para esas cadenas y devuelva un hash donde el keys son todas las posibles abreviaturas y los valores son las cadenas completas.
Por lo tanto, dado words
es “coche” y “cono”, el keys apuntando a “coche” sería “ca” y “coche”, mientras que los que apuntan a “cono” serían “co”, “con” y “cono”.
require'abbrev'Abbrev.abbrev(%w car cone )#=> "ca"=>"car", "con"=>"cone", "co"=>"cone", "car"=>"car", "cone"=>"cone"
El opcional pattern
El parámetro es un patrón o un string. Solo ingrese cadenas que coincidan con el patrón o comiencen con el string se incluyen en el hash de salida.
Abbrev.abbrev(%wcar box cone crab,/b/)#=> "box"=>"box", "bo"=>"box", "b"=>"box", "crab" => "crab"Abbrev.abbrev(%wcar box cone,'ca')#=> "car"=>"car", "ca"=>"car"
Métodos de instancia privada
abrev(palabras, patrón = nulo)Mostrar fuente
# File lib/abbrev.rb, line 73defabbrev(words, pattern =nil) table = seen =Hash.new(0)if pattern.is_a?(String) pattern =/A#Regexp.quote(pattern)/# regard as a prefixend words.eachdo|word|nextif word.empty? word.size.downto(1)lenend words.eachdo|word|nextif pattern && pattern !~ word table[word]= word end table end
Dado un conjunto de cadenas, calcule el conjunto de abreviaturas inequívocas para esas cadenas y devuelva un hash donde el keys son todas las abreviaturas posibles y los valores son las cadenas completas.
Por lo tanto, dado words
es “coche” y “cono”, el keys apuntar a “coche” sería “ca” y “coche”, mientras que los que apuntan a “cono” serían “co”, “con” y “cono”.
require'abbrev'Abbrev.abbrev(%w car cone )#=> "ca"=>"car", "con"=>"cone", "co"=>"cone", "car"=>"car", "cone"=>"cone"
El opcional pattern
parámetro es un patrón o un string. Solo ingrese cadenas que coincidan con el patrón o comiencen con el string se incluyen en el hash de salida.
Abbrev.abbrev(%wcar box cone crab,/b/)#=> "box"=>"box", "bo"=>"box", "b"=>"box", "crab" => "crab"Abbrev.abbrev(%wcar box cone,'ca')#=> "car"=>"car", "ca"=>"car"
Comentarios y valoraciones del post
Si entiendes que ha sido provechoso nuestro artículo, te agradeceríamos que lo compartas con el resto seniors así contrubuyes a dar difusión a nuestra información.