免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6083 | 回复: 10
打印 上一主题 下一主题

[求助] 关于perl 符号表的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-28 17:31 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2008-07-28 17:34 |只看该作者
说实话,Perl/Python 这种动态语言的编译时和运行时分的不是很清楚。

论坛徽章:
0
3 [报告]
发表于 2008-07-28 17:37 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2008-07-28 18:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2008-07-29 08:16 |只看该作者
符号表是什么捏。。。。 解释下

论坛徽章:
0
6 [报告]
发表于 2008-07-29 12:17 |只看该作者
我是这么理解的:
*sym = *{"oldvar"};
   *sym = "oldvar";
这两种,都是去符号表中查找名字为oldvar的变量,注意到这个名字是由字符串"oldvar"指定的,而不是像前两种情况:
*sym =   *oldvar;
   *sym = \*oldvar;
,这两种情况在符号表中的名字直接由oldvar指定.

因为在Perl中允许在双引号之内进行变量内插,所以第三四中情况中的字符串"oldvar"随时可能被一个标量变量取代,比如:
my $varame = "oldvar";
*sym = *{$varname};
   *sym = "$varname";
而这个varname到底存放的是什么数据,是在运行期决定下来的.

论坛徽章:
0
7 [报告]
发表于 2008-07-29 12:44 |只看该作者
这个太难,不太懂,高手好好解释一下,学习ing。。。。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2008-07-29 12:50 |只看该作者
只要了解*oldvar 这个到底代表什麽意思...
其他的不用管太多啦..都差不多啦..
Pointer与Referrence 懂C的话..就不难理解了...
Programming Perl应该有讲吧...

论坛徽章:
0
9 [报告]
发表于 2008-07-29 14:17 |只看该作者
是谈论symbol table不?

论坛徽章:
7
巳蛇
日期:2014-04-10 08:54:57白羊座
日期:2014-04-22 20:06:262015年亚洲杯之沙特阿拉伯
日期:2015-02-10 14:18:532015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之吉达阿赫利
日期:2015-06-02 11:34:112015亚冠之武里南联
日期:2015-06-24 12:13:082015亚冠之阿尔纳斯尔
日期:2015-08-03 09:08:25
10 [报告]
发表于 2008-07-29 14:25 |只看该作者
在何译的书里有提到,后两种是符号引用(也就是字符串引用),它是在运行时确定的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP