ошибка perl: нет «нового» метода в «Statistics::Descriptive»

Я установил модуль «Statistics::Descriptive» с помощью cpan, а затем протестировал пример:

use Statistics::Descriptive;
$stat = new Statistics::Descriptive;
$stat->AddData(1,2,3,4);

Но он показывает ошибку: Can't locate object method "new" via package "Statistics::Descriptive" at ... Я делаю это в Linux Ubuntu с версией Perl 5.10.1 и новейшей статистикой :: Описательной, как мне говорит cpan.

Я попробовал Windows, используя perl ActiveState, и это работает.

У вас есть идеи, почему я получил эту ошибку при работе в Linux? Спасибо.


person Ken    schedule 23.02.2011    source источник


Ответы (1)


Судя по документации, вам нужно сделать либо

use Statistics::Descriptive;
my $stat = Statistics::Descriptive::Full->new();

or

use Statistics::Descriptive;
my $stat = Statistics::Descriptive::Sparse->new();

Как говорится: «При разреженном методе никакие данные не сохраняются, и доступны только некоторые статистические показатели. При использовании полного метода сохраняется весь набор данных и доступны дополнительные функции».

Возможно у вас старая версия на windows. В более ранних версиях был недокументированный метод new() верхнего уровня.

person ysth    schedule 23.02.2011
comment
Спасибо yst. Кажется, эта строка кода передается с использованием my $stat = Statistics::Descriptive::Full->new(); или Sparse. Однако похоже, что в пакете нет объектного метода, и отображается: Can't locate object method "AddData" via package "Statistics::Descriptive::Sparse" at .... Есть ли у вас какие-либо идеи? Спасибо. - person Ken; 23.02.2011
comment
@Kenneth: я думаю, ты имеешь в виду add_data; действительно ли AddData работает в Windows? даже в очень-очень старых версиях, все еще находящихся на cpan, нет AddData. - person ysth; 23.02.2011
comment
Тот, что для Windows, работает для этого примера кода: use Statistics::Descriptive; $stat = new Statistics::Descriptive; $stat->AddData(1,2,3,4); $mean = $stat->Mean(); $var = $stat->Variance(); $tm = $stat->TrimmedMean(.25); как на странице загрузки Statistics::Descriptive. Тогда у вас есть хорошие примеры для меня? Спасибо yst. - person Ken; 23.02.2011
comment
@Kenneth: только примеры в документе, на который я ссылался в начале своего ответа; Я не знаю, что вы подразумеваете под загрузкой страницы. - person ysth; 23.02.2011
comment
Упс... Извините, что не обратил внимания на ссылку. Хорошо .. я знаю, в чем моя проблема. Я читал страницу загрузки старой версии Statistics::Descriptive. Теперь все работает отлично. Спасибо большое!! - person Ken; 23.02.2011
comment
@Kenneth: мне очень любопытно узнать, где вы находите эту старую страницу загрузки. Обновление: нашел; на CPAN есть дистрибутив StatisticsDescriptive 16-летней давности в дополнение к авторизованному дистрибутиву Statistics-Descriptive. - person ysth; 23.02.2011