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.

$kids_of_wife{"Jacob"}{"Zilpah"}[1] = "Asher";可 以 从 上 面 看 出 , 在 嵌 套 数 据 结 构 中 增 加 一 层 , 就 像 在 多 维 数 组 中 增 加 了 一 维 。 在 <strong>Perl</strong> 内部 表 示 是 一 样 的 , 但 是 你 可 以 用 任 何 一 种 方 法 来 理 解 。这 里 最 重 要 的 一 点 就 是 ,<strong>Perl</strong> 可 以 用 简 单 的 标 量 来 代 表 复 杂 数 据 结 构 。<strong>Perl</strong> 利 用 这 种 简 单的 封 装 方 法 构 建 了 基 于 对 象 的 结 构 。 当 我 们 用 下 面 的 方 法 调 用 Camel 对 象 的 构 造 函 数 的时 候 :$fido = new Camel "Amelia";我 们 创 建 了 一 个 Camel 对 象 , 并 用 标 量 $fido 来 代 表 。 但 是 在 Camel 对 象 里 面 是 很 复杂 的 。 作 为 优 秀 的 面 向 对 象 的 程 序 员 , 我 们 不 想 关 心 Camel 对 象 里 面 的 细 节 ( 除 非 我 们是 实 现 Camel 类 方 法 的 人 )。 但 是 一 般 说 来 , 一 个 对 象 的 组 成 中 会 有 一 个 包 含 对 象 属 性的 散 列 。 例 如 它 的 名 字 ( 本 例 子 中 , 是 “Amelia” 而 不 是 “fido”), 还 有 驼 峰 的 数 量 ( 在 这里 我 们 没 有 明 确 定 义 , 因 此 使 用 缺 省 值 1, 和 封 面 一 样 )。1.2.5 简 单 数 据 结 构阅 读 完 上 一 节 , 你 一 定 会 感 到 有 点 头 晕 , 否 则 你 一 定 不 简 单 。 通 常 人 们 不 喜 欢 处 理 复 杂 数 据结 构 。 因 此 在 自 然 语 言 中 , 我 们 有 很 多 方 法 来 消 除 复 杂 性 。 很 多 其 中 的 方 法 都 归 结 到 “ 主 题化 ” 这 个 范 畴 , 主 题 化 是 一 个 语 言 学 概 念 , 指 在 谈 论 某 方 面 事 情 时 , 谈 论 双 方 保 持 一 致 。 主题 化 可 以 在 语 言 的 各 个 级 别 出 现 , 在 较 高 的 级 别 中 , 我 们 可 以 根 据 不 同 的 感 兴 趣 的 子 话 题 将自 己 分 成 不 同 的 文 化 类 型 , 同 时 建 立 一 些 专 有 语 言 来 讨 论 这 些 特 定 的 话 题 。 就 象 在 医 生 办 公室 中 的 语 言 (“ 不 可 溶 解 窒 息 物 ”) 和 在 巧 克 力 厂 中 的 语 言 ( “ 永 久 块 止 动 器 ”) 肯 定 是 有 差异 的 一 样 。 所 幸 , 我 们 能 够 在 语 言 环 境 发 生 转 换 时 能 够 自 动 适 应 新 的 语 言 环 境 。在 对 话 级 别 中 , 环 境 转 换 必 须 更 加 明 确 , 因 此 语 言 让 我 们 能 用 很 多 的 方 式 来 表 达 同 一 个 意 思 。我 们 在 书 和 章 节 的 开 头 加 上 题 目 。 在 我 们 的 句 子 中 , 我 们 会 用 “ 根 据 你 最 近 的 查 询 ” 或 “ 对 于所 有 的 X” 来 表 示 后 面 的 讨 论 主 题 。<strong>Perl</strong> 也 有 一 些 主 题 化 的 方 法 , 最 主 要 的 就 是 使 用 package 声 明 。 例 如 你 想 在 <strong>Perl</strong> 中 讨论 Camels, 你 会 在 Camel 模 块 中 以 下 面 的 方 法 开 头 :package Camel;这 个 开 头 有 几 个 值 得 注 意 的 效 果 , 其 中 之 一 就 是 从 这 里 开 始 ,<strong>Perl</strong> 认 为 所 有 没 有 特 别 指 出的 动 词 和 名 词 都 是 关 于 Camels 的 ,<strong>Perl</strong> 通 过 在 全 局 名 字 前 添 加 模 块 名 字 “Camel::” 来实 现 , 因 此 当 你 使 用 下 面 的 方 法 :package Camel;19

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

Saved successfully!

Ooh no, something went wrong!