问题标签 [bless]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - Perl 的“祝福”到底是做什么的?
我知道在类的“new”方法中使用 Perl 中的“bless”关键字:
但是“祝福”对那个哈希引用到底做了什么?
perl - 如何在 Perl 中取消对对象的祝福?
bless REF,CLASSNAME
这个函数告诉被引用的东西
REF
它现在是包
中的一个对象。CLASSNAME
有没有什么方法可以在没有不必要的复制的情况下获得一个不受祝福的结构?
perl - 祝福还是不祝福,这是我的问题!
新手用户的第一篇文章。我在谷歌上搜索的每一个问题似乎都会把我带到这里,而且我总是能得到很好的答案。所以当我开始思考 Perl 中祝福的用法时,很自然这是我的第一站。
我刚刚进入 Perl 的 OOP,今天刚刚阅读了帖子,询问 bless 是做什么的。我现在明白它引用了一个标量/哈希/数组到一个对象,如果你愿意的话,“附加”它。
在我在 Perl 中看到的大多数类示例中,它们似乎没有我在其他语言中看到的属性......
所以,我创建了一个带有属性的愚蠢类,看看会发生什么。我立即给该属性值“NIL”,然后“Not Nil!” 在构造函数中。使用方法 LIST,我能够打印该属性,并且正如我所料,它打印了“Not Nil!”
我的问题是,如果属性的工作方式与我预期的一样(在正文中声明),那么为什么要使用 bless 呢?当您可以简单地将标量/哈希/数组创建为属性,或者创建您想要的任何引用作为属性时,拥有该引用的额外好处是什么?
我希望我能很好地解释我想问的问题,用 Perl 非常绿色 :)
perl - Perl read_config sub,oop 与否?
我有一个包(实际上只有一个子程序),我经常使用它来解析配置文件等。基本上它看起来像这样:
非常基本,但我想知道如何(以及是否)这可以/应该重写为OOP?真的只是为了学习,从来没有见过何时以及为什么使用bless。=)
谢谢!
perl - Perl:引用/祝福问题
这个想法是实现一个类,该类在 TIEHASH 构造函数中获取 [arrays, Thread::Conveyor queues and other stuff] 列表,
将对象引用(如提到的Thread::Conveyor对象)从而将数组引用传递给构造函数的正确方法是什么,以便它可以访问对象?传递的对象应该被祝福的任何情况?
perl - 为什么 Math::Cartesian::Product 返回祝福对象?
我注意到Math::Cartesian::Product返回一个祝福对象数组,而不是一个简单的数组数组。我不知道为什么。我实际上需要做一些额外的工作(unbless)才能使用结果......
perl - 逗号分隔的操作如何在 perl 中工作?
我目前正在学习 Perl 编程并且遇到这样的语句:
我知道return bless { };
会做什么,我也知道return $type;
会做什么,但是用逗号分隔它们如何影响语句,并且它对所有一元运算符的工作方式都相同吗?
perl - 如何在 Perl 中祝福字符串?
我试图祝福一个字符串变量——在下面的代码中演示。Bless 似乎只在我使用散列或数组时才有效。你可以祝福琴弦吗?如果没有,你能祝福什么?我已经调试了一段时间,任何帮助将不胜感激。:-) 如果我在代码中出错,请告诉我它是什么。
这是一个 perl 文件。代码没有完成,但它永远不会到达“Page End”语句。所以我不再延长它了。$FileInfo 是一个定义早先从文件读取的数组,但由于语法在这里出现乱码。
这是构建 ojbect 参考的调用
perl - 该死,Perl 不能祝福我的对象
除了双关语之外,我试图import
在我的 Perl 类中实现一个方法来实例化一个Data
对象,该对象本质上是一个美化的 hashrefs 数组,来自适当的 hashrefs 数组。
这是我计划如何使用它的示例:
我的import
实现如下:
令人惊讶的是 Perl在编译时报告错误(注意BEGIN
块):
perldiag
并没有使正在发生的事情变得更加清晰:
不能保佑非参考价值
(F)
只有硬引用可能会受到祝福。这就是 Perl 如何“强制”封装对象。见perlobj
。
我什至尝试在两个单独的步骤中初始化对象并添加数据:
这导致了以下编译时错误:
两个问题:
- 我所做的有什么问题?
- 有人可以澄清
perldiag
这个编译时错误的解释吗?
perl - Perl 中的参数输入机制有什么区别?
在阅读下载的 Perl 模块时,我发现了几种定义输入参数的方法,如下所示。它们之间有什么区别?