【发布时间】:2010-08-19 00:45:05
【问题描述】:
首先,我不确定需要包含多少信息,因为我很难追查这个问题的根源。
我有一个 Moose 角色,它有一个子例程(连同其他一些东西)尝试为这样的类设置属性:
$genre = Movie::Genre->new({
genreName => 'Drama',
genreID => '1'
});
问题是,它没有。紧随其后的$genre 的转储表明它仍然是空的:
$genre: bless( {}, 'Movie::Genre' )
更奇怪的是,当我在我的测试文件中执行 THE EXACT SAME LINE 时,它在这个转储中按预期工作:
$genre: bless( {
genreID => '1',
genreName => 'Drama'
}, 'Movie::Genre' )
我正在努力寻找使这两行代码不同的原因,导致一行工作而另一行失败。
关于什么条件会导致第一个示例失败并允许第二个示例成功的任何想法?如有必要,我很乐意提供更多背景信息。谢谢!
【问题讨论】:
标签: perl class attributes moose role