模数不适用于逻辑应用中的液体模板,但在本地工作



以下模板,任何数组作为内容:

{%- 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 -%}

相关内容

  • 没有找到相关文章

最新更新