Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > пару вопросов


Автор: DiverD 24.3.2006, 17:25
1. не могу полностью въехать в приоритеты операторов,а именно что такое арность (0 1 2 3) и ассоциативность.

или арность это - к примеру взять условие $a > 1 ? $a += 11 : print "no"; здесь арность будет 3,тк 3и фигни,блин не могу выразить,объясни пожалуйсто.

Возмем выражение вида $a > $b - здесь ассоциативности нет (по книге=)почему ?) ..
Берем еще одно $a || $b - здесь ассициативность слева,так как сперва вычесляется 1я переменная а потом в противном 2я - так или нет??? хз..=)

2. вот если я что та пишу то ни когда не проверяю на определенность (defined) ,а в книге пишут что нада всегда это делать чтоб не было проблем,но проблем у меня вроде и не было,объясни зачем определять ее и какие могут быть проблемы если не пользоваться defined?
само значение ф-ции defined я прекрасно понимаю но зачем это делать?

Автор: sharq 25.3.2006, 21:09
diverd,
с первым смотри книгу Программирование на perl Ларри Уолл.
со вторым defined используется тогда и только тогда, когда тебе важно значение, равное нулю.
Например,
Код

my $id = 0;
print defined $id ?  "ok\n" : "no\n";
print         $id ?  "ok\n" : "no\n";


smile

Автор: DiverD 25.3.2006, 21:12
sharq
спасибо - выручил =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)