【发布时间】:2012-12-30 11:20:47
【问题描述】:
这是我的问题:我有 2 个数组。一个是字符数组,代表一个滑动窗口。字符从一开始就被移动并在最后被推动。我想使用第二个数组来存储对数组切片的引用,这些切片在字符移动时“跟随”字符。示例:
my @char_array = ('h','e','l','l','o','w','o','r','l','d');
my $char_arr_ref=[@char_array[1..$#char_array]];
print @$char_arr_ref, "\n"; # slice contains 'elloworld';
shift(@char_array);
push(@char_array), 'x';
print @$char_arr_ref, "\n"; # slice still contains 'elloworld', not 'lloworldx' as I need;
换句话说,我希望能够使用第二个数组来引用数组切片(例如,我会使用 C 中的指针数组)。
在 Perl 中有没有一种惯用的方法来做到这一点?
更新:这是进行快速文本搜索的大型程序的一部分。我打算使用引用的哈希(例如,而不是非常缓慢的“索引”函数。我需要在 Perl 中执行此操作。
【问题讨论】:
-
也许你应该解释你想要达到的目标。我非常怀疑这最好通过引用来解决。
标签: perl reference character-arrays slice