Wpis z mikrobloga

Mireczki mam problem z kodem. Jako argument funkcja dostaje string i ma za zadanie zwrócić index wszystkich samogłosek w postaci tablicy. Funkcja działa jeśli samogłoski się nie powtarzają np. "abcde" => [1, 5] (index ma zaczynać się od 1), ale gdy samogłoski się powtarzają, dostaje coś takiego np. "robot" => [2, 2], zamiast [2, 4]. Gdzie popełniłem błąd?
http://pastebin.com/8uD6xXZK


#naukaprogramowania #ruby #roastmycode
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@VernonRoche:
Ja bym to zrobił w drugą stronę - nie iterował po stringu wejściowym, a po nowym arrayu intów

W zasdzie cała logika tego zadania w jednej dość niejasnej linii (str to wejściowy string) :)

[*0..str.length-1].keep_if{|v| vowels.include? str[v]}.to_a
W skrócie - tworzę tablicę indexów i opróżniam je z tych indexów, gdzie w stringu nie ma samogłoski.
  • Odpowiedz