以下模板,任何数组作为内容:
{%- for datapoint in content -%}
{%- assign breaker = (forloop.index | modulo: 4) -%}
{{breaker}}
{% if breaker == 0 %};
{% endif %}
{%- endfor -%}
在 Visual Studio 代码中生成此输出,并符合文档:
1 2 3 0 1 2 3 0 1 2 3 0
(为了便于阅读,我添加了空格而不是新行(
在 Azure 逻辑应用上运行相同的模板将生成此输出
1 2 3 4 5 6 7 8 9 10 11 12
有没有其他方法可以使用 Liquid 模板实现相同的输出,而无需模数?好像 |可能是一个问题,
{%- assign arraysize = content | size -%}
似乎也不起作用,但是
{%- assign arraysize = content.size -%}
工作正常。但是,我不确定如何以这种方式使用模。
我相信modulo
应该是Modulo
(大写的"M"(
对于液体模板,逻辑应用使用配置了 C# 命名约定的 DotLiquid 库(请参阅此约定(,要求筛选器名称大写。
有关转换 JSON 的逻辑应用文档中的注释中也提到了这一点。
基本上,与原始红宝石过滤器相比,过滤器必须像这样
-
at_least
变得AtLeast
-
plus
变得Plus
更新:不确定括号在液体中是否有效,但我不得不为逻辑应用删除它们
{%- for datapoint in content -%}
{%- assign breaker = forloop.index | Modulo: 4 -%}
{{ breaker }}
{%- endfor -%}