size=2
start=0
c=['Н', 'Н' ,'Н' ,'Н' ,'Н','Н','Н','Н','Н','Н','Н','Н','Н','Н']
code_dictionary=Array.new()
begin_size_code_dictionary=Array.new()
end_string=String.new()
code_dictionary=c.uniq.to_a
decode_dictionary=c.uniq.to_a
for i in 0...code_dictionary.size
begin_size_code_dictionary[i]=i
end
c.size.times{
if !code_dictionary.include?(c[start,size].to_s)#Comparation
code_dictionary.push(c[start,size].to_s.chomp)
start=start+(code_dictionary.last.size)/2-1
size=2
else
size+=1;
end
}
end_code=Array.new(code_dictionary.size)
for i in begin_size_code_dictionary.size...code_dictionary.size
end_code[i]=code_dictionary.index(code_dictionary[i].chop.chop)+1
end_string+=code_dictionary[i].chop.chop
end
govnokod.ru