使用液体模板过滤器计算加权平均值

Computing a Weighted Average with Liquid Template Filters

我正在使用 Jekyll,它的 Liquid 模板托管在 Github 页面上,我想计算加权平均值,但我没有找到使用 Liquid 数学处理运算顺序的方法过滤器。

例如,我想计算如下内容:

{{ (page.x | times:.4) | plus:(page.y | times:.6) }} 
--> (x * .4) + (y * .6) 

但是括号似乎被忽略了,我实际上得到了:

{{ page.x | times:.4 | plus:page.y | times:.6 }} 
--> (((x * .4) + y) * .6)

液体过滤器按照它们出现的顺序一次应用一个,使用之前的值。你不能用括号改变优先级(你只能用 if 条件来做到这一点)。

在这里你必须像这样拆分你的操作:

{% assign a = x | times:.4 %}
{% assign b = y | times:.6 %}
{% assign c = a | plus: b %}