2013-07-20 3 views
-2

Пожалуйста, помогите мне реализовать класс Repeat и это методы:реализации собственного класса в Рубине

class Repeat 
    def initialize(n) 
    #TODO 
    end 

    def each 
    #TODO 
    end 
end 

def n_times(n) 
    #TODO 
end 

Этот фрагмент кода:

n_times(2) { |count| puts "You called me #{count} times" } 

должен вернуть этот результат:

# You called me 1 times 
# You called me 2 times 
+0

Отличный вопрос. Понял тебя. – oldergod

+2

'Repeat',' new' и 'each' не отображаются нигде в вызывающем скрипте. – sawa

+0

'n_times' не является частью класса' Repeat'. Непонятно, как определяется ваша проблема. – lurker

ответ

1

Добро пожаловать в StackOverflow. Кажется, что вы новичок в ООП и передаете блок методу в Ruby. Этот ответ упрощает ваш вопрос и просто фокусируется на передаче блока методу. Вот какой код:

def n_times(n, &block) 
    n.times do |counter| 
    yield(counter + 1) 
    end 
end 

n_times(2) { |count| puts "You called me #{count} times" } 
Смежные вопросы