LINUX.ORG.RU

История изменений

Исправление ival, (текущая версия) :

Чего? Какой метод ты хочешь модифицировать (и зачем)?

Ну это довольно частая задача. Вот есть у меня, например, блок, который что-то там вычисляет. Часто по нему хочется построить блок, который вычисляет нужное значение только один раз, на подобии

def obj
     if @obj .nil? 
         @obj = calc_obj
     end
    @obj
end 

Если таких блоков с десяток, хорошо бы иметь возможность писать что-то типа

cached_object(:obj) { calc_obj body }

и ruby сам оборачивал данный блок в if @obj.nil?

Во втором примере подразумевается, что методов, переключаемых через $call_flag много.

Исходная версия ival, :

Чего? Какой метод ты хочешь модифицировать (и зачем)?

Ну это довольно частая задача. Вот есть у меня, например, блок, который что-то там вычисляет. Часто по нему хочется построить блок, который вычисляет нужное значение только один раз, на подобии

def obj
     if @obj .nil? 
         @obj = calc_obj
     end
    @f
end 

Если таких блоков с десяток, хорошо бы иметь возможность писать что-то типа

cached_object(:obj) { calc_obj body }

и ruby сам оборачивал данный блок в if @obj.nil?

Во втором примере подразумевается, что методов, переключаемых через $call_flag много.