Czy mógłby ktoś zobaczyć czy zrobiłem dobrze zadanie ponieważ jest to mój 1 program w ruby i chciałbym mieć pewność czy jest ok i usłyszeć jakieś wskazówki co można lepiej zrobić.
Treść zadania
Jedną z najprostszych metod szyfrowania jest szyfr podstawieniowy, w którym
za literę podstawia się inną literę. Zaprogramuj dwie klasy:
• klasę Jawna przechowującą napis w postaci jawnej i implementującą metodę
zaszyfruj(klucz) zwracającą obiekt klasy Zaszyfrowane;
• klasę Zaszyfrowane przechowującą napis zaszyfrowany i implementującą metodę
odszyfruj(klucz) zwracającą obiekt klasy Jawna.
Obydwie klasy winne implementować metodę to s. Argument klucz to słownik postaci
{ ’a’ => ’b’, ’b’ => ’r’, ’r’ => ’y’, ’y’ => ’u’, ’u=> ’a’}
Mój kod:
class Jawna
def initialize(slowo)
@slowo = slowo
end
def to_s
@slowo
end
def zaszyfruj(klucz)
noweSlowo = ""
for i in [email protected]
noweSlowo << klucz[@slowo[i]]
end
Zaszyfrowane.new(noweSlowo)
end
end
class Zaszyfrowane
def initialize(slowo)
@slowo = slowo
end
def to_s
@slowo
end
def odszyfruj(klucz)
noweSlowo = ""
for i in [email protected]
noweSlowo << klucz.key(@slowo[i].to_s)
end
Jawna.new(noweSlowo)
end
end