Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > Дополнение стандартной билиотеки своими методами


Автор: Akeem 21.8.2006, 12:47
При н аписании некоторой прогаммы у меня возник такой вопрос: Нужно добавить в определённый класс свой метод. Я знаю что такое возможно. Даже есть пример добавления в класс Integer метода. 
но я работаю с Классом Date и в этом классе нет нужного отображдения даты.

Так вот помогите сообразить как написать правильно метод чтобы дату можно было отображать ввиде yyyy.mm.dd 

вот я начал:
Код

class Date
  def date_with_point
    #.....
  end
end


А дальше завис. 

Автор: Akeem 21.8.2006, 16:50
Решение уже найдено
 вот оно:

Код

class Time
  def date_with_point()
    return strftime(\"%Y.%m.%d\")
  end
end

Автор: Pete 21.8.2006, 23:14
Код

D:\Work>irb
irb(main):001:0> Time.now.strftime( '%Y.%M.%d' )
=> "2006.12.22"
irb(main):002:0>

См. http://www.msiu.ru/~kupri-ov/RubyDocs/corelib.rubyonrails.org/classes/Time.html#M000264.
Пойдет?

Автор: Akeem 31.8.2006, 20:01
Pete
Мне кажется ты просто продублировал то что я написал. тем более мне не только надо именно переводить дату которая есть в даный момент. 

Мой метод куда больше и шире,  позволяет переводить дату типа Time практически любую.  

Автор: Pete 31.8.2006, 21:06
Цитата(Akeem @  31.8.2006,  21:01 Найти цитируемый пост)
Pete, 
Мне кажется ты просто продублировал то что я написал.


Когда я писал сообщение, предыдущего еще не было. Тут, действительно, одно и то же.

Цитата(Akeem @  31.8.2006,  21:01 Найти цитируемый пост)
Мой метод куда больше и шире,  позволяет переводить дату типа Time практически любую.


Я просто предложил пример, как можно управлять элементами даты/времени с помощью функции strftime(). Думаю, ты более компетентен, чтобы написать именно то, что надо тебе.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)