parser

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

 

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

Ответ

Misha v.3 05.03.2014 08:25 / 05.03.2014 08:25

$h[
	^if(true){$.a[b]}
	^if(true){$.c[d]}
]
в данном фрагменте (он аналогичен второму твоему примеру) происходит условное создание элементов хэша. т.е. метод (у меня if, у тебя h или rehash) должен вернуть не хэш, а его "кусочек".

очевидно, что данный фрагмент отличается от следующего:
$h[
	^if(true){^hash::create[$.a[b]]}
	^if(true){^hash::create[$.c[d]]}
]
и из последнего фрагмента должна стать понятна причина ошибки hash may not be overwritten with hash.