13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

my ($self, $count ) = @_;if ($count > $self->{BOUND} ) {confess "Array OOB: $count > $self->{BOUND}";}$#{$self->{DATA}} = $count;}SELF->EXTEND(COUNT)<strong>Perl</strong> 使 用 EXTEND 方 法 来 表 示 一 个 数 组 将 要 扩 展 成 保 存 COUNT 条 记 录 。 这 样 你 就 可以 一 次 分 配 足 够 大 的 内 存 , 而 不 是 以 后 的 多 次 调 用 。 因 为 我 们 的 BoundedArrays ? 已 经 固定 了 上 限 , 所 以 我 们 不 用 定 义 这 个 方 法 。SELF->EXISTS(INDEX)这 个 方 法 验 证 在 INDEX 位 置 的 元 素 存 在 于 捆 绑 数 组 中 。 对 于 我 们 的 BoundedArray ? ,我 们 只 需 要 在 核 实 了 查 找 企 图 没 有 超 过 我 们 的 固 定 上 限 , 然 后 就 可 以 使 用 <strong>Perl</strong> 内 建 的exists 来 核 实 。sub EXISTS {my ($self, $index) = @_;if ( $index > $self->{BOUND}) {confess "array OOB: $index > $self->{BOUND}";}exists $self->{DATA}[$index];}SELF->DELETE(INDEX)DELETE 方 法 从 捆 绑 数 组 SELF 中 删 除 在 INDEX 位 置 的 元 素 。 对 于 我 们 的BoundedArray ? 类 , 这 个 方 法 看 起 来 几 乎 和 EXISTS 完 全 一 样 , 不 过 这 可 不 是 标 准 。sub DELETE {my ($self, $index) = @_;363

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

Saved successfully!

Ooh no, something went wrong!