вторник, 6 октября 2009 г.

Пока сюда не перееду - основной блог madbox-lj.livejournal.com

суббота, 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

Можно код  передавать строкой и эвалить внутри класса, но:
  - теряется проверка синтаксиса до эвала
  - в редакторе не подсвечивается синтаксис внутри строки
  - бэктрэйс с эвалами труднопонимаем
Upd: Днем был тупняк. во время определения лямбды, @my_id ссылается на nil т.к. никто такой переменной в контексте не обьявлял, а преобразование из текста "@my_id" во внутреннее представление, похоже, происходит 1 раз, во время создания. Этож не eval.
  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 г.

Firefox

http://www.spreadfirefox.com/ru/worldrecord/ Почему бы собственно и нет.

четверг, 29 мая 2008 г.

вторник, 27 мая 2008 г.

grrrrrrr

1) Нет способа убить каталог со всем содержимым одной командой. Никаких rm -rf. Только ебучие del + rd... для _каждого_ вложенного Х_Х. уродынах. Я всего лишь не поставил UnxUtils. 2) что будет если: system('del /S /Q /F "c:\documents and settings\user\МОИ ДОКУМЕНТЫ\someth"')? правильно, нихуя. 'del /S /Q /F "C:\Documents and Settings\barablin\¦Ь¦-¦¬ ¦Ф¦-¦¦TГ¦-¦¦¦-TВTЛ\someth Системе не удается найти указанный путь.'. а все почему? потому, что кодировка консоли cp866 а файл исходников в utf-8, поэтому чтобы заработало надо перекодировать в cp1251. 3) xcopy /S somedir\*.* someothername -> someothername это файл или каталог((F) File (D) Directory)? она меня еще, сука спрашивает и ждет до понедельника, что ей ответят. с утра субботы. уродина. Вонючая ось для мышефилов и имега-хакеров, в которой принципиально не возможно писать нормально работающие вещи. ВСЕ надо делать через хаки. делаешь штуку за 20 мин, а потом её хачишь пол-дня, чтобы она запустилась. 500 * Бля.