该DD例程是一个特定Rakudo特征,但这是偶然的我的问题.在程序中是否有办法检查实现并挽救它是否是正确的?我必须自己做吗?
die "Unsupported VM" unless $*VM ~~ m/^ 'moar' /;
Run Code Online (Sandbox Code Playgroud)
也许我们需要像Perl 5的Devel :: AssertOS这样的东西.
我根本不想创建特定于实现的程序,但我可以想象一个实现具有特定怪癖和与程序不兼容的错误的情况.因为,你知道,这是几年的Java(还记得MRJ吗?).
如果只想在MoarVM上运行程序,那么:
BEGIN die "Must run on MoarVM, not $*VM.name()" unless $*VM.name eq 'moar';
Run Code Online (Sandbox Code Playgroud)
应该够了.