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.

以 合 并 到 程 序 里 面 去 。 不 过 我 们 这 里 已 经 走 得 太 远 了 —— 那 些 是 未 来 若 干 章 的 内 容 。 先 让我 们 从 字 符 里 面 组 建 更 多 的 记 号 开 始 吧 。2.3 内 置 的 数 据 类 型在 我 们 开 始 讲 述 各 种 各 样 的 用 字 符 组 建 的 记 号 之 前 , 我 们 先 要 做 一 些 抽 象 。 具 体 说 来 , 就 是我 们 需 要 三 种 数 据 类 型 。计 算 机 语 言 因 它 们 支 持 的 数 据 类 型 的 多 寡 和 类 别 而 不 同 。 一 些 常 用 的 语 言 为 类 似 的 数 值 提 供了 许 多 让 人 易 混 的 数 据 类 型 , <strong>Perl</strong> 不 一 样 , 它 只 提 供 了 少 数 几 种 内 建 的 数 据 类 型 。 让 我 们看 看 C, 在 C 里 你 可 能 会 碰 到 char,short,int,long, long long,bool,wchar_t,size_t,off_t,regex_t,uid_t,u_longlong_t,pthread_key_t,fp_exception_field_type 等 等 类 型 。 这 些 都 是 某 种 类 型 的 整 型 ! 然 后 还 有 浮 点 数 , 指 针和 字 符 串 等 。所 有 的 这 些 复 杂 的 类 型 都 只 对 应 <strong>Perl</strong> 里 面 的 一 种 类 型 : 标 量 ( 你 通 常 需 要 的 只 是 <strong>Perl</strong> 的简 单 数 据 类 型 , 如 果 不 是 的 话 , 你 可 以 利 用 <strong>Perl</strong> 的 面 向 对 象 的 特 性 自 由 地 定 义 动 态 类 型—— 参 阅 第 十 二 章 , 对 象 。) <strong>Perl</strong> 的 三 种 基 本 数 据 类 型 是 : 标 量 , 标 量 数 组 和 标 量 散 列(hash)( 也 被 称 做 联 合 数 组 )。 有 些 人 喜 欢 把 这 些 称 做 数 据 结 构 , 而 不 是 类 型 。 那 也 行 。标 量 是 建 造 更 复 杂 类 型 的 基 本 类 型 。 一 个 标 量 存 储 单 一 的 简 单 值 —— 通 常 是 一 个 字 串 或 者 一个 数 字 。 这 种 简 单 类 型 的 元 素 可 以 组 成 两 种 聚 集 类 型 的 任 何 一 种 。 一 个 数 组 是 是 一 个 标 量 的有 序 排 列 , 你 可 以 通 过 一 个 整 型 脚 标 ( 或 者 索 引 ) 访 问 。<strong>Perl</strong> 里 的 所 有 索 引 都 从 0 开 始 。不 过 , 和 许 多 编 程 语 言 不 一 样 的 是 ,<strong>Perl</strong> 认 为 负 数 脚 标 也 是 合 法 的 : 负 数 脚 标 是 从 后 向 前记 数 你 的 数 组 。( 这 一 点 对 许 多 子 字 串 和 子 数 组 操 作 符 以 及 正 则 表 达 式 都 适 用 。) 另 一 方 面 ,一 个 散 列 (hash) 数 组 是 一 个 无 序 的 键 字 / 数 值 对 , 你 可 以 用 字 串 ( 就 是 键 字 ) 当 作 脚 标 来访 问 对 应 一 个 键 字 的 标 量 ( 就 是 数 值 )。 变 量 总 是 这 三 种 类 型 之 一 。( 除 变 量 外 , 还 有 一 些其 他 的 <strong>Perl</strong> 抽 象 你 也 可 以 认 为 是 数 据 类 型 , 比 如 文 件 句 柄 , 目 录 句 柄 , 格 式 串 , 子 过 程 ( 子函 数 ), 符 号 表 和 符 号 表 入 口 等 。)抽 象 是 好 东 西 , 我 们 一 边 学 习 一 边 会 收 集 到 更 多 的 抽 象 , 不 过 从 某 个 角 度 来 看 , 抽 象 也 是 没什 么 用 的 东 西 。 你 直 接 用 抽 象 不 能 做 任 何 事 情 。 因 此 计 算 机 语 言 就 要 有 语 法 。 我 们 要 告 诉 你各 种 各 样 的 语 法 术 语 , 这 样 你 就 可 以 把 抽 象 数 据 组 成 表 达 式 。 在 我 们 谈 到 这 些 语 法 单 元 的 时候 , 我 们 喜 欢 使 用 技 术 术 语 “ 项 ” 这 个 词 。( 哦 , 这 里 的 措 辞 可 能 有 点 模 糊 。 不 过 只 要 记 住 数学 老 师 在 讲 数 学 等 式 里 用 到 的 “ 项 ” 这 个 词 , 你 就 不 会 犯 大 错 。)就 象 在 数 学 等 式 里 的 项 一 样 ,<strong>Perl</strong> 里 的 大 多 数 项 的 目 的 也 是 为 加 号 或 乘 号 等 操 作 符 生 成 数值 。 不 过 , 和 数 学 等 式 不 一 样 的 是 ,<strong>Perl</strong> 对 它 计 算 的 数 值 要 做 些 处 理 , 而 不 仅 仅 是 拿 着 一支 笔 在 手 里 思 考 等 式 两 边 是 否 相 等 。 对 一 个 数 值 最 常 做 的 事 情 就 是 把 它 存 放 在 某 个 地 方 :51

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

Saved successfully!

Ooh no, something went wrong!