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

Re: Программирование на функциональных языках - как научить?



Hello!

On Friday 21 August 2009 00:58:35 Stanislav Maslovski wrote:
> Что будет, например, с таким вызовом?
> 
> isinnet( '172.16.1.23', '172.16.1.0', 'aa' )
> 
> Имхо, переменная mask в этом случае окажется равной нулю (после всех
> действий со сдвигами и пр.) и проверка в конце функции всегда вернет
> true, не зависимо от ad и net.
> 

sqlite> select isinnet( '172.16.1.23', '172.16.1.0', 'aa' );
0

Следовало бы вернуть NULL, что есть более концептуально верно. Если маска три 
символа или больше, то функция так и делает:
select isinnet( '172.16.1.23', '172.16.1.0', 'aaa' );


А когда 2 символа и меньше, поведение функции не соответствует ожидаемому :-) 
Спасибо за пример, поправлю.

Best regards, Alexey Pechnikov.
http://pechnikov.tel/

Reply to: