Ruby On Rails in UA Icon_home Главная Add to bookmarks Translate translate Profile Войти
Регистрация Форум Блоги Пользователи Список джемов Rails проекты      Поиск   

Ruby On Rails in UA/Программирование на ROR/attr_accessor

2008-10-22 15:38:45 Ответить  
wayfinder
wayfinder
Адрес:
Сообщений: 15
Регистр: 2008-07-19
его блог 0 сообщ.
attr_accessor
  •  
Здраствуйте. К примеру у меня есть класс.
class New
attr_accessor :one, :two, :three, :four, :five .... (пускай их тут много)
def discribe
end
end
Мне нужно при вызове discribe вернуть строку, в которой будет что- то вроде "one - '1', two - '2'..." тоесть значения всех переменных. Можно это тупо делать " one - #{one}, two - #{two} ..." . Но это долго и некрасиво. Есть мысли по этому поводу?
2008-10-22 15:49:59 Ответить  
admin
Ruslan Voloshin
Адрес: odessa
Сообщений: 1296
Регистр: 2007-03-13
его блог 40 сообщ.
RE: attr_accessor
  •  
думаю проще будет обявить просто один атрибут аксесор воторый будет у тебя хешем всесто кучи однотипных переменых
------------
Занимаюсь вебом и продвижением сайтов.
2008-10-22 17:30:53 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 311
Регистр: 2008-04-22
его блог 6 сообщ.
RE: attr_accessor
  •  
Я так подозреваю тебе надо получить функционал по типу Class.inspect
Тоесть значения переменных объекта. Тогда тебе надо посмотреть в сторону метапрограммирования. Например метод Object.methods вернет тебе список методов объекта.
Можно отфильтровать ето методы по определенному признаку и использовать ети данные при выдаче. Вобщем для более конкретных рекомендация надо уточнить задачу.
Зачем тебе это надо ?
------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
2008-10-22 18:34:51 Ответить  
shine
Виктор
Адрес: Днепропетровск
Сообщений: 67
Регистр: 2008-07-19
его блог 0 сообщ.
RE: attr_accessor
  •  
Согласен с Русланом. Кэш в этом случае самое то. А в describe пробегаться по всему хэшу и формировать из него строку в нужном формате.
------------
An investment in knowledge always pays the best interest. (c) Benjamin Franklin
2008-10-22 21:58:24 Ответить  
Malik Bakhtiyar
Malik Baktiyarov
Адрес: Bishkek, Kyrgyzstan
Сообщений: 27
Регистр: 2007-09-12
его блог 0 сообщ.
RE: attr_accessor
  •  
Вот тебе "красивое" решение


Тогда в @acessors будет содержаться весь список асцессоров.
Назадназад Новыйновый Ответитьответить
Ключевые слова:
Гости: 98 Онлайн: 0
Rambler's Top100
О проекте по всем вопросам обращайтесь на support
Rubyclub.com.ua Copyright © 2007 - 2008