13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

当 设 置 捆 绑 了 的 数 组 里 的 一 个 元 素 的 时 候 调 用 这 个 方 法 。 它 接 受 对 象 后 面 的 两 个 参 数 : 我们 试 图 存 储 的 东 西 的 索 引 和 我 们 准 备 放 在 那 里 的 数 值 。 比 如 :sub STORE {my($self, $index, $value) = @_;if ($index > $self->{BOUND} ) {confess "Array OOB: $index > $self->{BOUND}";}return $self->{DATA}[$index] = $value;}SELF->DESTROY当 需 要 删 除 捆 绑 变 量 和 回 收 它 的 内 存 的 时 候 调 用 这 个 方 法 。 对 于 一 门 有 垃 圾 回 收 功 能 的 语言 来 说 , 这 个 东 西 几 乎 用 不 上 , 所 以 本 例 中 我 们 忽 略 它 。SELF->FETCHSIZEFETCHSIZE 方 法 应 该 返 回 与 SELF 关 联 的 捆 绑 数 组 的 条 目 的 总 数 。 它 等 效 于scalar(@array), 通 常 等 于 $#array + 1。sub FETCHSIZE {my $self = shift;return scalar @{$self->{DATA}};}SELF->STORESIZE(COUNT)这 个 方 法 把 与 SELF 关 联 的 捆 绑 数 组 的 条 目 总 数 设 置 为 COUNT。 如 果 此 数 组 收 缩 , 那 么你 应 该 删 除 超 出 COUNT 范 围 的 记 录 。 如 果 数 组 增 长 , 你 应 该 确 保 新 的 空 位 置 是 未 定 义的 。 对 于 我 们 的 BoundedArray ? 类 , 我 们 还 要 确 保 该 数 组 不 会 增 长 得 超 出 初 始 化 时 设 置的 限 制 。sub STORESIZE {362

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!