parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Изменение типов переменных

egr 08.09.2003 14:41

В парсере, одна и та же переменная, в одной и той же области видимости, может произвольно менять свой базовый тип. Например:
$var[^hash::create[...]]
...

$var[^table::create{...}]
сначала $var это хэш, затем таблица. В принципе у этого свойства есть и плюсы и минусы. Один из плюсов - иногда можно не плодить лишние переменные.

Теперь о минусах - если применять такую технику (смена типа в одной области видимости) то в большом коде можно очень легко запутаться, и к тому же часто это может приводить к нетривиальным ошибкам. Как мне кажется, эта особенность (динамическое связывание типов) достаточно вредна, например в C++ такое запрещено.

Хотелось бы услышать ваши мнения по поводу плюсов и минусов данной вещи.