[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: