Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: @ по модулю?   Paul Kulchenko   02 Aug 2000 20:06:47 
Архивное /ru.perl/355548c24a1c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional