描述
此函数将 VARIABLE 与提供变量类型实现的包类 CLASSNAME 联系起来。 LIST 中的任何附加参数都会传递给整个类的构造函数。通常用于将哈希变量绑定到 DBM 数据库。
用法
以下是此函数的简单语法 -
tie VARIABLE, CLASSNAME, LIST
返回值
此函数返回对绑定对象的引用。
示例
以下是显示其基本用法的示例代码,我们在 /tmp 目录中只有两个文件 -
#!/usr/bin/perl -w
package MyArray;
sub TIEARRAY {
print "TYING\n";
bless [];
}
sub DESTROY {
print "DESTROYING\n";
}
sub STORE {
my ($self, $index, $value ) = @_;
print "STORING $value at index $index\n";
$self[$index] = $value;
}
sub FETCH {
my ($self, $index ) = @_;
print "FETCHING the value at index $index\n";
return $self[$index];
}
package main;
$object = tie @x, MyArray; #@x is now a MyArray array;
print "object is a ", ref($object), "\n";
$x[0] = 'This is test'; #this will call STORE();
print $x[0], "\n"; #this will call FETCH();
print $object->FETCH(0), "\n";
untie @x #now @x is a normal array again.
执行上述代码时,会产生以下结果 -
TYING object is a MyArray STORING This is test at index 0 FETCHING the value at index 0 This is test FETCHING the value at index 0 This is test DESTROYING
当调用 tie 函数时,实际发生的是 FileOwner 中的 TIESCALAR 方法被调用,将 '.bash_profile' 作为参数传递给该方法。这将返回一个对象,该对象通过 tie 关联到 $profile 变量。
在打印语句中使用 $profile 时,将调用 FETCH 方法。当您为 $profile 赋值时,将调用 STORE 方法,并将 'mcslp' 作为该方法的参数。如果你能遵循这一点,那么你就可以创建绑定的标量、数组和散列,因为它们都遵循相同的基本模型。现在让我们检查我们的新 FileOwner 类的细节,从 TIESCALAR 方法开始 -
相关用法
- Perl times用法及代码示例
- Perl time用法及代码示例
- Perl tell()用法及代码示例
- Perl tr用法及代码示例
- Perl telldir用法及代码示例
- Perl tell用法及代码示例
- Perl sin()用法及代码示例
- Perl abs()用法及代码示例
- Perl kill用法及代码示例
- Perl chop()用法及代码示例
- Perl wantarray用法及代码示例
- Perl gmtime用法及代码示例
- Perl exists()用法及代码示例
- Perl split用法及代码示例
- Perl localtime用法及代码示例
- Perl delete()用法及代码示例
- Perl undef用法及代码示例
注:本文由纯净天空筛选整理自 Perl tie Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。