tie函数

首页 / Perl / tie函数

描述

此函数将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"作为该方法的参数传递。这将返回一个对象,该对象通过绑定到$profile变量来关联。

当在打印语句中使用$profile时,将调用FETCH方法。当您为$profile分配值时,将调用STORE方法,并以'mcslp'作为该方法的参数。如果可以遵循,则可以创建绑定标量,数组和哈希,因为它们都遵循相同的基本模型。现在让我们从TIESCALAR方法开始检查新FileOwner类的详细信息-

这一章《Perl - tie函数》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持,感谢!😊

好记忆不如烂笔头。留下你的足迹吧 :)

相关文章

从0打造音视频直播系统 -〔李超 - 〕

罗剑锋的C++实战笔记 -〔罗剑锋 - 〕

编译原理实战课 -〔宫文学 - 〕

朱涛 · Kotlin编程第一课 -〔朱涛 - 〕

使用 jQuery 将页面滚动到某个点时,如何更改文本?

从字典列表中删除重复项会引发异常?

在 onclick 中使用变量是否比使用 e.target 更糟糕?

为什么 case_when 在这里有两个不同的输出?

无法使用 cypress 切换到新选项卡或窗口

将一个列表中的当前元素与另一个列表中的下一个元素进行比较

视频推荐〔Perl 正则表达式和元字符〕

更多 Perl-tie 视频教程 »