使用提供的模板语言,我总是可以访问 $_ 或 Hash 引用以进行迭代,这很好。
# In routes
get -> 'somestuff' {
my $stuff = %{ arr => [ {stuff => 'stuff1' , nbr => 1 }, {stuff => 'stuff2', nbr => 2 } ] };
template 'somestuff.crotpl', $stuff;
}
# In somestuff.crotpl
<?$_.elems>
<$_> <br>
<@arr> <.stuff> = <.nbr> <br> </@>
</?>
但是测试不存在的键/值<?{.not-here}> ...</?>
会引发异常,这是正常行为吗?
我似乎文档中未说明的变量仅在从与路由上下文无关的模板子例程中调用它们时才可用(如测试文件所示:https ://github.com/croservices/cro- webapp/blob/master/t/test-data/cond-var.crotmp)。对不存在的变量进行测试也会引发异常。