如何解决如何使用Moose创建私有/公共变量和函数?
| 我正在查看“ 0”配方,但仍然看不到是否可以使用它创建私有变量和函数?可能吗?如果是,如何用Moose创建它们?解决方法
就像daxim指出的那样,私有方法具有\“ _ \”前缀。因为属性(实例变量)开箱即用地生成getters方法(如果rw也是setters方法),则应执行以下操作:
has \'myvariable\' => (
is => \'ro\',writer => \'_myvariable\',init_arg => undef,# other options here
);
这样,您可以在类/实例中设置此属性,而不能从外部设置该属性。如果只读访问太多,则也可以将其标记为“私有”:
has \'_myvariable\' => (
is => \'ro\',writer => \'_set_myvariable\'
init_arg => undef,# other options here
);
,给标识符加上前缀“ 3”,以将功能/变量等标记为私有。这在perlstyle的有关范围的部分中进行了记录,大约在文档的中间。
理智的程序员和某些工具(源解析器/文档)都尊重这一点,但编译器未强制执行。请参阅perlmodlib#NOTE。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。