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.

范 畴转 换算 术"" 0+ bool操 作 符+ - * / % ** x . neg逻 辑 !位 操 作 & | ~ ^ ! >赋 值 += -= *= /= %= **= x= .= = ++ --比 较数 学文 本= < < > >= = lt le gt ge eq ne cmpatan2 cos sin exp abs log sqrt 解 引 用 ${} @{} %{} &{} *{}伪 nomethod fallback =>请 注 意 neg,bool,nomethod, 和 fallback 实 际 上 不 是 <strong>Perl</strong> 的 操 作 符 。 五 种 解 引 用 ,"", 和 0+ 可 能 看 起 来 也 不 象 操 作 符 。 不 过 , 它 们 都 是 你 给 use overload 提 供 的 参 数 列表 的 有 效 键 字 。 这 不 是 什 么 问 题 。 我 们 会 告 诉 你 一 个 小 秘 密 : 说 overload 用 法 重 载 了 操作 符 是 一 个 小 花 招 。 它 重 载 了 下 层 的 操 作 符 , 不 管 是 通 过 他 们 的 “ 正 式 ” 操 作 符 明 确 调 用 的 ,还 是 通 过 一 些 相 关 的 操 作 符 隐 含 调 用 的 。( 我 们 提 到 的 伪 操 作 符 只 能 隐 含 地 调 用 。) 换 句 话说 , 重 载 不 是 在 语 句 级 发 生 的 , 而 是 在 语 义 级 。 原 因 是 我 们 不 是 为 了 好 看 而 是 为 了 正 确 。 请随 意 进 行 概 括 。请 注 意 = 并 不 象 你 预 料 的 那 样 重 载 <strong>Perl</strong> 的 赋 值 操 作 符 。 那 样 做 是 错 的 , 稍 后 详 细 介 绍 这个 。我 们 将 从 转 换 操 作 符 开 始 讨 论 , 但 并 不 是 因 为 它 们 最 显 眼 ( 它 们 可 不 抢 眼 ), 而 是 因 为 它 们是 最 有 用 的 。 许 多 类 除 了 重 载 用 "" 键 字 ( 没 错 , 就 是 一 行 上 的 两 个 双 引 号 。) 声 明 的 字 串化 以 外 不 会 重 载 任 何 东 西 。转 换 操 作 符 : "",0+,bool 这 三 个 键 字 让 你 给 <strong>Perl</strong> 提 供 分 别 自 动 转 换 成 字 串 , 数 字 和布 尔 值 的 性 质 。当 一 个 非 字 串 变 量 当 作 字 串 使 用 的 时 候 , 我 们 就 说 是 发 生 了 字 串 化 。 当 你 通 过 打 印 , 替 换 ,连 接 , 或 者 是 把 它 用 做 一 个 散 列 键 字 等 方 法 把 一 个 变 量 转 换 成 字 串 时 就 发 生 这 个 动 作 。 字串 化 也 是 当 你 试 图 print 一 个 对 象 时 看 到 象 SCALAR(0xba5fe0) 这 样 的 东 西 的 原 因 。我 们 说 当 一 个 非 数 字 值 在 任 意 数 字 环 境 下 转 换 成 一 个 数 字 时 发 生 的 事 情 叫 数 字 化 , 这 些 数字 环 境 可 以 是 任 意 数 学 表 达 式 , 数 组 下 标 , 或 者 是 ... 范 围 操 作 符 的 操 作 数 。334

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

Saved successfully!

Ooh no, something went wrong!