內容

名稱

Tie::Scalar、Tie::StdScalar - 綁定標量的基底類別定義

語法

package NewScalar;
require Tie::Scalar;

@ISA = qw(Tie::Scalar);

sub FETCH { ... }		# Provide a needed method
sub TIESCALAR { ... }	# Overrides inherited method


package NewStdScalar;
require Tie::Scalar;

@ISA = qw(Tie::StdScalar);

# All methods provided by default, so define
# only what needs be overridden
sub FETCH { ... }


package main;

tie $new_scalar, 'NewScalar';
tie $new_std_scalar, 'NewStdScalar';

說明

此模組提供了一些用於純量繫結類別的骨架方法。請參閱 perltie,以取得將純量繫結至套件所需的函式清單。基本的 Tie::Scalar 套件提供 new 方法,以及 TIESCALARFETCHSTORE 方法。Tie::StdScalar 套件提供 perltie 中指定的所有方法。它繼承自 Tie::Scalar,並使繫結至它的純量表現得與內建純量完全相同,允許選擇性地覆寫方法。new 方法提供給忘記提供自己的 TIESCALAR 方法的類別,作為傳統支援。

對於想要撰寫自己的繫結純量類別的開發人員,以下摘要說明了這些方法。 perltie 區段不僅記載了這些方法,還提供了範例程式碼

TIESCALAR classname, LIST

由指令 tie $scalar, classname 呼叫的方法。將新的純量執行個體與指定的類別關聯起來。LIST 會表示完成關聯所需的附加引數(類似於 AnyDBM_File 和同類項)。

FETCH this

擷取由 this 參照的繫結純量的值。

STORE this, value

將資料 value 儲存在由 this 參照的繫結純量中。

DESTROY this

釋放與由 this 參照的繫結純量關聯的儲存空間。這很少需要,因為 Perl 管理其記憶體的方式非常好。但是,如果類別希望在執行個體毀損時執行特定動作,則有此選項。

Tie::Scalar 與 Tie::StdScalar

Tie::Scalar 提供所有必要的函式,但您應該了解它們沒有執行任何有用的動作。呼叫 Tie::Scalar::FETCHTie::Scalar::STORE 會導致 (可攔截的) croak。如果您繼承自 Tie::Scalar,您必須提供 newTIESCALAR 方法。

如果您正在尋找一個為您處理所有您未定義事項的類別,請使用 Tie::StdScalar 類別,而不是 Tie::Scalar 類別。

更多資訊

perltie 區段使用一個透過將程序 ID 與優先權關聯來繫結純量的好範例。