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 { ${ $_[0] } = $_[1] }# 做 缺 省 的 事 情sub FETCH { sprintf "%0.2f", ${ my $self = shift } }# 圆 整 值package main;tie $bucks, "Centsible";$bucks = 45.00;$bucks *= 1.0715;# 税$bucks *= 1.0715; # 和 双 倍 的 税 !print "That will be $bucks, please.\n";运 行 的 时 候 , 这 个 程 序 生 成 :That will be 51.67, please.把 tie 调 用 注 释 掉 以 后 , 你 可 以 看 到 区 别 :That will be 51.66505125, please.当 然 , 这 样 要 比 你 平 时 做 圆 整 所 做 的 工 作 要 多 。14.1.1 标 量 捆 绑 方 法既 然 你 已 经 看 到 我 们 将 要 讲 的 东 西 , 那 就 让 我 们 开 发 一 个 更 灵 活 的 标 量 捆 绑 类 吧 。 我 们 不 会使 用 任 何 封 装 好 了 的 包 做 基 类 ( 特 别 是 因 为 标 量 实 在 是 简 单 ), 相 反 我 们 会 轮 流 照 看 一 下 这四 种 方 法 , 构 造 一 个 名 字 为 ScalarFile ? 的 例 子 类 。 捆 绑 到 这 个 类 上 的 标 量 包 含 普 通 字 串 ,并 且 每 个 这 样 的 变 量 都 隐 含 地 和 一 个 文 件 关 联 , 此 文 件 就 是 字 串 存 贮 的 地 方 。( 你 可 以 通 过给 变 量 命 名 的 方 法 来 记 忆 你 引 用 的 是 哪 个 文 件 。) 变 量 用 下 面 的 方 法 绑 到 类 上 :use ScalarFile;# 装 载 ScalarFile.pmtie $camel, "ScalarFiel", "/tmp/camel.lot";变 量 一 旦 捆 绑 , 它 以 前 的 内 容 就 被 取 代 , 并 且 变 量 和 其 对 象 内 部 的 联 系 覆 盖 了 此 变 量 平 常 的语 义 。 当 你 请 求 $camel 的 值 时 , 它 现 在 读 取 /tmp/camel.lot 的 内 容 , 而 当 你 给$camel 赋 值 的 时 候 , 它 把 新 的 内 容 写 到 /tmp/camel.lot 里 , 删 除 任 何 原 来 的 东 西 。350

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

Saved successfully!

Ooh no, something went wrong!