пятница, 20 августа 2010 г.

Ассоциативность операторов в Perl

Я уже и забыл, что есть такая штука как "ассоциативность" операторов и что она бывает правая и левая. Ассоциативность определяет в какой последовательности выполняются операторы с одинаковым приоритетом.

Пример:

5**6**8 # в какой последовательности будет выполнено возведение в степень ?
Правильный ответ:

5**(6**8)  # так как опертатор ** имеет правую ассоциативность
В "книге с ламой" очень правильно написано:

Нужно ли заучивать таблицу приоритетов и ассоциативности ?  
НЕТ!
Никто этого не делает!

Если возникает неоднозначность - просто используйте скобки!
Тем самым вы облегчите жизнь тому, кто будет поддерживать ваш код!

Комментариев нет: