免费注册 查看新帖 |

Chinaunix

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

请教大家一个问题哦:使用元编程技术“做”人 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-13 13:22 |显示全部楼层 |倒序浏览
我们看问题:
  • 要求使用元编程技术动态的生成一个Person类
  • Person类的字段的名称以空格为分隔符存放在attribute.txt中,当然我们并不能预先知道这些字段,比如:
    id name age sex
  • 为Person类的每一个字段提供一个setter和getter成员方法
  • 最后使用Person类生成一个Person实例


另外,我想知道在PERL中,元编程技术应用的广泛吗?我不太懂perl的,谢谢大家的回答了。

[ 本帖最后由 flw 于 2007-9-13 14:09 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-09-13 18:07 |显示全部楼层
原帖由 uppet 于 2007-9-13 13:57 发表
一个简单的。。。



package Person;
use Data:umper;

sub _from_file{
    my $FF;
    open $FF ,"

先谢谢你的回答!你个这个例子演示了perl使用hash来动态的增加成员变量,那么如何动态的增加成员函数?假设我们为Person类增加一个getter用以获取age成员,如下所示:


  1. package main;

  2. $stranger = Person::new(so => 1, far => 2);
  3. $stranger->dump()
  4. $stranger->getAge()
复制代码

能演示下吗?另外,你能告诉我,PERL的元编程技术在实践中用的多吗?

论坛徽章:
0
3 [报告]
发表于 2007-09-13 18:11 |显示全部楼层
原帖由 flw 于 2007-9-13 14:12 发表
警告一下楼主:
不要扯上无关话题。
这次先帮你编辑了。

好吧,因为你讲的有道理,所以你的警告我接受!那么,其他更严重的违反版规的行为是不是也要警告一下了?引用就不必了,反正大家心里都有数,我也不想再和你发生争执了!

论坛徽章:
0
4 [报告]
发表于 2007-09-13 18:53 |显示全部楼层
原帖由 uppet 于 2007-9-13 18:31 发表
加入新方法可以使用AUTOLOAD方法。。
一般元编程的使用者是库作者或者framework作者。。。
一般用户用的不多。。

谢谢。在perl中有没有什么名气比较大的使用元编程技术的模块?

不是很明白元编程的意义,希望有哪位能讲解一下。

论坛徽章:
0
5 [报告]
发表于 2007-09-19 00:15 |显示全部楼层
原帖由 uppet 于 2007-9-13 23:48 发表
Mark Jason Dominus(《Higher-Order Perl》一书的作者,perl小牛人一个)。
在他的书中讲到很多有用的函数式编程技术,基本有一些要用到元编程。

阁下可以到CPAN下个Memoize模块来研究。
以阁下的水平,其实 ...

《Programming Perl》中文版翻译的不好,我觉得《Advaced Perl Programming》比较好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP