首先,我不确定需要包含多少信息,因为我很难追踪这个问题的根源。
我有一个带有子程序的 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' )
我正在努力寻找使这两行代码不同的原因,导致一行工作而另一行失败。
关于什么条件会导致第一个示例失败并允许第二个示例成功的任何想法?如有必要,我很乐意提供更多背景信息。谢谢!