![]() |
|
![]() ![]() ![]() |
|
zsftp |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.4.2008 Репутация: нет Всего: нет |
Ruby начал изучать недавно.
В данный момент возник затык, никак немогу придумать даже алгоритм. Имеется, к примеру, таблица биллинга вида:
Нужно скомпоновать ее по трафику, к виду:
|
||||
|
|||||
shine |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 20.10.2006 Репутация: 3 Всего: 5 |
Что вы имеете ввиду под 'скомпоновать по трафику'? Если оба IP совпадают И оба порта совпадают, то байты складываем. Так?
--------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin |
|||
|
||||
zsftp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.4.2008 Репутация: нет Всего: нет |
Да, Вы правы.
Но я немогу придумать, в каком виде в языке это хранить. В виде массивов многомерных или иначе? |
|||
|
||||
shine |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 20.10.2006 Репутация: 3 Всего: 5 |
Я бы делал массив в котором каждый элемент является хэшем (Hash):
В хэшах вы сможете использовать строковые переменные как ключи, а в массивах ключи могут быть только числами. --------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin |
|||
|
||||
zsftp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.4.2008 Репутация: нет Всего: нет |
А каким образом делать привязку к ip адресам?
|
|||
|
||||
shine |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 20.10.2006 Репутация: 3 Всего: 5 |
Да точно так же. Добавьте еще одну пару ключ+значение. Ключем будет 'ipsrc' а значением какой-нибудь IP из вашей таблицы. Так можно расширять этот хэш сколько вам будет нужно. Общий смысл в том, что каждая строка в таблице будет соответствовать элементу массива, а каждое значение в этой строке будет хранится в ячейке хэша с ключем таким же, как и название столбца в таблице. --------------------
An investment in knowledge always pays the best interest. © Benjamin Franklin |
|||
|
||||
popolzen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 19.3.2006 Где: Улан-Удэ Репутация: нет Всего: 2 |
Можешь попробовать сделать таким образом:
На выходе получаешь хэш, в котором ключами будет массив (ipsrc, ipdst, psrc, pdst), а значениями суммарный объем трафика. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Ruby: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |