|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Paul Kulchenko 2:5020/400 02 Aug 2000 20:06:47 To : All Subject : Re: @ по модулю? --------------------------------------------------------------------------------
Hi, Igor!
Igor Nikolaev wrote:
> Да, кроме одной фразы я ничего в man'е не нашёл.
> Если знаешь где ещё сказано как это реализовано
> (и как это похерить) - излагай.
>
> У меня индексы из положительных чисел вылезают.
Можно попробовать что-то вроде этого:
package ArrayWithOnlyPositiveIndexes;
use Tie::Array;
@ISA = qw(Tie::StdArray);
sub FETCHSIZE { return 0 }
package main;
tie @array, ArrayWithOnlyPositiveIndexes;
@array[5] = 12;
print $array[5];
@array[-2] = 1;
Hа это вернет:
Modification of non-creatable array value attempted, subscript -2 at
index.pl line 13.
Hо это не полный хак. print @array не будет работать, поскольку думает
что элементов там нет. Поэлементное занесение/извлечение работать будет.
К сожалению грамотно перехватить FETCH/STORE не получается, поскольку
туда всегда приходят положительные индексы :(. Хотя при желании идею
можно развить.
Best wishes, Paul.
--- ifmail v.2.15dev5
* Origin: Rostelecom/Internet Centre (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/355548c24a1c.html, оценка из 5, голосов 10
|