|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Orlovsky Alexander 2:5020/400 30 Nov 2006 22:31:14 To : All Subject : проблема с Algorithm::Diff --------------------------------------------------------------------------------
Решил не изобретать велосипед и использовать готовый модуль для сравнения
структур данных
Hо столкнулся с проблемой с которой пока никак не могу разобраться :(
Вот такой скрипт выводит
use Data::Dumper;
use Algorithm::Diff qw( LCS LCS_length LCSidx diff sdiff compact_diff
traverse_sequences traverse_balanced );
$Data::Dumper::Indent = 0;
my @a = ('A','B','C');
my @b = ('C','B','A','D');
@lcs1 = LCS( \@a, \@b, );
my @a = ('A','B','C');
my @b = ('A','B','C','D');
@lcs2 = LCS( \@a, \@b, );
print Dumper (\@lcs1,\@lcs2) ."\n";
Выводит:
$VAR1 = ['C'];$VAR2 = ['A','B','C'];
Почему такая разница в выводе? (Мне хотелось, чтобы без сортировки массива
можно было получить пересечение.)
Есть идеи почему так происходит? Я уже думаю свою функцию написать,
работающую предсказуемо.
Hо может где какой параметр можно указать? Или модуль выбран неверно для
решения задачи?
--- ifmail v.2.15dev5.3
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6577dd3545d4.html, оценка из 5, голосов 10
|