perl – 为什么我不能通过typeglob访问词法变量?

perl – 为什么我不能通过typeglob访问词法变量?,第1张

概述我不明白为什么下面的例子失败了(测试2).为什么我无法从* bb glob访问变量bb? use Test::More tests => 4;$aa = 1;my $bb = 2; # HERE!local $cc = 3;our $dd = 4;is(${*aa}, 1, "$\*aa should be 1");is(${*bb}, 2, "$\*bb (my) shoul 我不明白为什么下面的例子失败了(测试2).为什么我无法从* bb glob访问变量bb?

use Test::More tests => 4;$aa = 1;my $bb = 2;   # HERE!local $cc = 3;our $dd = 4;is(${*aa},1,"$\*aa should be 1");is(${*bb},2,"$\*bb (my) should be 2");is(${*cc},3,"$\*cc (local) should be 3");is(${*dd},4,"$\*dd (our) should be 4");

输出是

1..4ok 1 - *aa should be 1#   Failed test '*bb (my) should be 2'#   at unTitled line 10.#          got: undef#     expected: '2'# Looks like you Failed 1 test of 4.not ok 2 - *bb (my) should be 2ok 3 - *cc (local) should be 3ok 4 - *dd (our) should be 4

根据perl 5.16.0

谢谢

解决方法 词法变量(使用my创建的变量)不是符号表的一部分,因此无法通过globs访问它们.另见 Of Symbol Tables and Globs. 总结

以上是内存溢出为你收集整理的perl – 为什么我不能通过typeglob访问词法变量?全部内容,希望文章能够帮你解决perl – 为什么我不能通过typeglob访问词法变量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1213188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存