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: