Марио качи първо решение на 26.10.2021 00:50 (преди почти 4 години)
Създаването на отделна структура за mapping-а между полетата е интересно решение, макар че в случая не изглежда като да съкращава кода -- дали ще върнеш compliments.a
или просто Т
/U
няма много разлика, освен че второто е по-кратко :). Можеше да е някаква форма на преизползване да извлечеш matching кода, примерно result.push(compliments.base(dna[i]))
:
impl NucleotideCompliments {
fn base(&self, input: char): char {
match input {
'A' => self.a,
'G' => self.g,
'C' => self.c,
'T' => self.t,
_ => panic!("Грешка, грешка, обърках вратата"),
}
}
}
(Side note: "compliment" е различно от "complement" :D)