Problemy z wejściem / obróbką stringów

Witam
Od wczoraj zaczełem nauke Rubiego. Dość dobrze ogarniam już C, ale to mi chyba wcale nie ulatwia pracy z rubim. Dzis napotkałem problem:
chcialbym wczytac taka linie

1 2 3 4 5

i z sumowac te cyfry, ale jakos tak nie wiem jak wczytywac ciag znakow tylko do spacji. Jest jakas metoda ? Czy moze trzeba wczytac cala linie, a potem dzialac jakos na stringu ?

Bede wdzieczny za jakiekolwiek rady albo link do artykulu, ktory opisuje wejscie/wyjscie lub operacje na stringach.

Zachowam się bardzo nie-dydaktycznie, bo podam rozwiązanie:

gets.split(" ").inject(0){|sum,element|  sum + element.to_i}

A teraz po kolei

  • gets - pobiera jedną linię z wejścia
  • split(" ") - dzieli łańcuch na elementy w miejscu znaku spacji i zamienia na tablicę
  • inject - “wrzuca” do tablicy wartość początkową i przekazuje ją do bloku wraz z elementami tablicy (sum, element), do następnego kroku przekazywany jest wynik poprzedniej operacji

Piszę to dlatego, żebyś mógł zobaczyć “moc Rubiego” w stosunku do toporności C. Jeśli chodzi o materiały, to jest tego mnóstwo. Ludzie polecają “Learn to program with Ruby”, wiem, że ktoś to chyba chciał przetłumaczyć na polski. Dla osób, które programowały w językach obiektowych i chcą szybko zapoznać się z ciekawymi własnościami języka mogę polecić mój przewodnik.

Dziekuje za pomoc. Teraz bede mogl sie skupic na paru algorytmicznych problemach :smiley: Narazie Ruby bardzo mi sie podoba szczegolnie ze wzgledu na naprawde ladnie wygladajacy kod. Obiecuje, ze przeczytam twoj przewodnik.