【发布时间】:2018-10-26 08:57:24
【问题描述】:
我正在尝试通过使用 CompUnit 类集进行预编译来创建 POD6 的缓存。
我可以按如下方式创建、存储和检索 pod:
use v6.c;
use nqp;
my $precomp-store = CompUnit::PrecompilationStore::File.new(prefix=>'cache'.IO);
my $precomp = CompUnit::PrecompilationRepository::Default.new(store=> $precomp-store );
my $key = nqp::sha1('test.pod6');
'test.pod6'.IO.spurt(q:to/CONTENT/);
=begin pod
=TITLE More and more
Some more text
=end pod
CONTENT
$precomp.precompile('test.pod6'.IO, $key, :force);
my $handle = $precomp.load($key, )[0];
my $resurrected = nqp::atkey($handle.unit,'$=pod')[0];
say $resurrected ~~ Pod::Block::Named;
所以现在我更改 POD,如何使用 :since 标志?我认为如果:since 包含编译后的时间,那么句柄的值将是 Nil。好像不是这样的。
my $new-handle = $precomp.load($key, :since('test.pod6'.IO.modified));
say 'I got a new handle' with $new-handle;
输出是“我有一个新句柄”。
我做错了什么? 这是带有代码和输出的 pastebin 链接:https://pastebin.com/wtA9a0nP
【问题讨论】:
标签: raku