Re: Программирование на функциональных языках - как научить?
Alexey Pechnikov -> debian-russian@lists.debian.org @ Mon, 24 Aug 2009 21:30:18 +0400:
>> AP> Отсюда легко получить адреса сетей вида 169.254.7.39/255.255.0.0
>> AP> Соответственно, полученные значения сразу же можно передать в утилиту
>> AP> sqlite3 и обрабатывать функциями обсуждаемого модуля.
>>
>> А тогда, извини, функция должна называться не isinnet, а issamenet, и
>> получать три параметра - два адреса (любой из которых может быть адресом
>> сети) и маску.
AP> Интересная мысль, что касается определения вхождения подсетей.
AP> select ISINNET( '172.16.1.193/24', '172.16.1.0/24' );
AP> Это добавлю.
AP> Что касается формы
AP> select ISINNET( '172.16.1.193/8', '172.16.1.0/16', 24 );
AP> или, с вашим обозначением,
AP> select ISSAMENET( '172.16.1.193/8', '172.16.1.0/16', 24 );
AP> то мне не понятно, какой же должен быть результат и что он значит.
Я недостаточно хорошо владею русским языком? issamenet должна иметь три
параметра - два адреса и маску. Если непонятно, то адрес сети
192.168.1.0/24 - это 192.168.1.0. /24 - это маска.
Если совсем непонятно, то моему описанию соответствует вызов
select ISSAMENET('172.16.1.193', '172.16.1.0', '/24');
(Почему '/24', а не просто 24? Чтобы можно было написать
'255.255.255.0'. Но это уже дело вкуса.)
А что значит то, что написал ты, мне тоже непонятно.
Нет, вхождение подсетей я в виду не имел. Я имел в виду всего лишь,
относятся ли два адреса к одной и той же сети, если у нее такая маска.
Задавать вопрос, относятся ли два адреса к одной сети, если маски у них
(имеются в виду) разные, смысла не имеет - и так уже ясно, что не
относятся.
--
Феаноринги думают руками, арфинги - сердцем, а нолфинги - головой. (С)энта
Reply to: