julik live

Такой одинокий

Да, тем кто еще не пришел в наши сверкающие ряды - вот таким образом разрешается в Ruby Конундрум О Синглтоне (про мечту о том, чтобы у синглтона были только методы класса):

class Magician
  include Singleton

  def dove
    "*poof* A dove!"
  end

  def segway
    "*rides Segway around*"
  end
end


Magician.dove   #=> "*poof* A dove!"
Magician.segway #=> "*rides Segway around*"

Всческий plumbing само собой выполняется прозрачно, под капотом и с полным сохранением динамики. Neat shit.

Но это для пуристов. Если пуризм не критичен - у классов в Ruby тоже есть instance variables, с которыми соответственно так и можно работать:

class TallMagician
  class << self
    attr_accessor :hat

    def set(var)
      @var = var
    end

    def get
      @var
    end
  end
end

TallMagician.set(234) #=> 234
TallMagician.get # => 234

Suspects: Веб-стройка

 
comments powered by Disqus

Aspirine not included.