scalar.html
来自「perl教程」· HTML 代码 · 共 129 行
HTML
129 行
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>Tie::StdScalar - base class definitions for tied scalars</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>
<body>
<script>writelinks('__top__',2);</script>
<h1><a>Tie::StdScalar - base class definitions for tied scalars</a></h1>
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<li><a href="#more_information">MORE INFORMATION</a></li>
</ul>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>Tie::Scalar, Tie::StdScalar - base class definitions for tied scalars</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
<span class="keyword">package</span> <span class="variable">NewScalar</span><span class="operator">;</span>
<span class="keyword">require</span> <span class="variable">Tie::Scalar</span><span class="operator">;</span>
</pre>
<pre>
<span class="variable">@ISA</span> <span class="operator">=</span> <span class="operator">(</span><span class="variable">Tie::Scalar</span><span class="operator">);</span>
</pre>
<pre>
<span class="keyword">sub</span><span class="variable"> FETCH </span><span class="operator">{</span> <span class="operator">...</span> <span class="operator">}</span> <span class="comment"># Provide a needed method</span>
<span class="keyword">sub</span><span class="variable"> TIESCALAR </span><span class="operator">{</span> <span class="operator">...</span> <span class="operator">}</span> <span class="comment"># Overrides inherited method</span>
</pre>
<pre>
<span class="keyword">package</span> <span class="variable">NewStdScalar</span><span class="operator">;</span>
<span class="keyword">require</span> <span class="variable">Tie::Scalar</span><span class="operator">;</span>
</pre>
<pre>
<span class="variable">@ISA</span> <span class="operator">=</span> <span class="operator">(</span><span class="variable">Tie::StdScalar</span><span class="operator">);</span>
</pre>
<pre>
<span class="comment"># All methods provided by default, so define only what needs be overridden</span>
<span class="keyword">sub</span><span class="variable"> FETCH </span><span class="operator">{</span> <span class="operator">...</span> <span class="operator">}</span>
</pre>
<pre>
<span class="keyword">package</span> <span class="variable">main</span><span class="operator">;</span>
</pre>
<pre>
<span class="keyword">tie</span> <span class="variable">$new_scalar</span><span class="operator">,</span> <span class="string">'NewScalar'</span><span class="operator">;</span>
<span class="keyword">tie</span> <span class="variable">$new_std_scalar</span><span class="operator">,</span> <span class="string">'NewStdScalar'</span><span class="operator">;</span>
</pre>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>This module provides some skeletal methods for scalar-tying classes. See
<a href="../../lib/Pod/perltie.html">the perltie manpage</a> for a list of the functions required in tying a scalar to a
package. The basic <strong>Tie::Scalar</strong> package provides a <code>new</code> method, as well
as methods <code>TIESCALAR</code>, <code>FETCH</code> and <code>STORE</code>. The <strong>Tie::StdScalar</strong>
package provides all the methods specified in <a href="../../lib/Pod/perltie.html">the perltie manpage</a>. It inherits from
<strong>Tie::Scalar</strong> and causes scalars tied to it to behave exactly like the
built-in scalars, allowing for selective overloading of methods. The <code>new</code>
method is provided as a means of grandfathering, for classes that forget to
provide their own <code>TIESCALAR</code> method.</p>
<p>For developers wishing to write their own tied-scalar classes, the methods
are summarized below. The <a href="../../lib/Pod/perltie.html">the perltie manpage</a> section not only documents these, but
has sample code as well:</p>
<dl>
<dt><strong><a name="item_tiescalar_classname_2c_list">TIESCALAR classname, LIST</a></strong>
<dd>
<p>The method invoked by the command <code>tie $scalar, classname</code>. Associates a new
scalar instance with the specified class. <code>LIST</code> would represent additional
arguments (along the lines of <a href="../../lib/AnyDBM_File.html">the AnyDBM_File manpage</a> and compatriots) needed to
complete the association.</p>
</dd>
</li>
<dt><strong><a name="item_fetch_this">FETCH this</a></strong>
<dd>
<p>Retrieve the value of the tied scalar referenced by <em>this</em>.</p>
</dd>
</li>
<dt><strong><a name="item_store_this_2c_value">STORE this, value</a></strong>
<dd>
<p>Store data <em>value</em> in the tied scalar referenced by <em>this</em>.</p>
</dd>
</li>
<dt><strong><a name="item_destroy_this">DESTROY this</a></strong>
<dd>
<p>Free the storage associated with the tied scalar referenced by <em>this</em>.
This is rarely needed, as Perl manages its memory quite well. But the
option exists, should a class wish to perform specific actions upon the
destruction of an instance.</p>
</dd>
</li>
</dl>
<p>
</p>
<hr />
<h1><a name="more_information">MORE INFORMATION</a></h1>
<p>The <a href="../../lib/Pod/perltie.html">the perltie manpage</a> section uses a good example of tying scalars by associating
process IDs with priority.</p>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?