【问题标题】:function not implemented in this class - perl error此类中未实现的功能 - perl 错误
【发布时间】:2012-12-12 20:15:20
【问题描述】:

http://cpansearch.perl.org/src/MSTROUT/YAML-0.84/lib/YAML/Loader/Base.pm

如果我打了

die 'load() not implemented in this class.';

这是什么意思?

我是一个完整的 perl 新手,正在尝试学习/调试为什么我会看到此错误。

这是否意味着,我应该在其他地方(重载)实现 load(),而我不应该到达这里?

我的代码可以:

try.pm

use YAML;
my $yaml = YAML::LoadFile( $params{'filename'} );

转到 YAML.pm 其中有:

field loader_class => 'YAML::Loader';

并调用 LoadFile() 并执行:

Load(do { local $/; <$IN> }); 

调用Load()

$yaml->loader_class($YAML::LoaderClass)
    if $YAML::LoaderClass;

这就是我看到错误的地方: YAML/Loader/Base.pm

【问题讨论】:

  • 你能告诉我们使用YAML::Loader的代码吗?
  • 刚刚用代码更新了我的问题。
  • 你的代码使用 0.84 对我来说很好。

标签: perl yaml cpan


【解决方案1】:

YAML::Loader::Base 用作基类来提供一些通用功能。 load 必须在基类中被覆盖。

尝试升级 YAML。您的版本中似乎存在错误。

【讨论】:

  • 遗憾的是,我无法更新整个 YAML。我需要找出你在说什么错误,如果我能修复它,那对我来说会更好。如果您知道我们在这里谈论的是什么错误,请告诉我。感谢您的帮助。
  • 查看 OP 以了解该错误的描述。
  • 我没明白你的意思。
  • 使用 YAML 应该会给你这个错误。它确实是一个错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
相关资源
最近更新 更多