суббота, 7 июня 2008 г.
понедельник, 2 июня 2008 г.
эх, красота
Кайф, это среди ночи и желтых фонарей проноситься по лужам, километрах эдак на 35, когда поднимаемые тучи брызг сливаются с каплями дождя, превращаясь в прохладную водяную подушку, и из всех звуков слышать только шелест воды и гул покрышек велосипеда.
хочется странного
class ActionHolder def initialize @my_id = rand(100000) @actions = [] end def add_action(&block) @actions.push( block ) end def process @actions.each{ |a| a.call } end end ah = ActionHolder.new ah.add_action{ puts "I'm the action" puts "my holder ID is: #{@my_id}" } ah.process Можно код передавать строкой и эвалить внутри класса, но: - теряется проверка синтаксиса до эвала - в редакторе не подсвечивается синтаксис внутри строки - бэктрэйс с эвалами труднопонимаем
class ActionHolder def initialize @my_id = rand(100000) @actions = [] @@Getter = proc do |var_name| raise "instance variable '#{var_name}' not defined" \ if !self.instance_variables.include? var_name self.instance_variable_get( var_name ) end end def add_action(&block) @actions.push( block ) end def process @actions.each{ |a| a.call( @@Getter ) } end end ah = ActionHolder.new ah.add_action{ |obj| puts "I'm the action" puts "my holder ID is: #{obj['@my_id']}" } ah.process
пятница, 30 мая 2008 г.
четверг, 29 мая 2008 г.
вторник, 27 мая 2008 г.
grrrrrrr
Подписаться на:
Сообщения (Atom)