Ruby - довольно необычный язык программирования, если вы более привыкли к статическим / декларативным языкам стилей, таким как C / C ++.
Я подозреваю, что это очень динамичная природа языка, которая вызывает у вас проблемы,может быть трудно обдумать это, когда вы впервые столкнетесь с этим после использования только более статичных языков.Такие идеи, как Duck Typing, могут показаться странными, если вы привыкли объявлять переменные как строгие типы перед их использованием.
Я бы настоятельно рекомендовал пройтись по одной из замечательных книг о ruby, которые там есть.Не надо просто возиться с написанием кода, не разбираясь в концепциях.
Лично мне очень понравился "язык программирования Ruby" от O'Reilly, но у меня есть опыт работы с множеством разных языков, поэтому я используюнекоторые из более динамичных функций в Ruby.
Однако вы можете предпочесть начать с чего-то менее лаконичного, такого как «Программирование Ruby» Дэйва Томаса (убедитесь, что вы получаете версию 1.9).
Пройдите одну из этих книг, сделайте примеры, поиграйтесь с кодом.Таким образом, вы получите полное понимание языка.
Удачи.Как только вы разберетесь в этом, Ruby станет очень мощным языком.