如何在Handlebars中调整嵌套数学函数实现多值求和?
解决Handlebars多值求和的嵌套写法问题
由于你的plus助手仅支持两值相加,要实现三值求和必须通过嵌套调用来拆解运算,Handlebars不支持在单个plus调用中传入多个参数或连续调用多个plus。
正确的语句结构
你需要把多值加法拆解为多次两值相加的嵌套操作,两种写法都可以(加法满足结合律,结果一致):
- 先计算两个除法结果的和,再与
result相加:
{{plus result (plus (divide var1 10) (divide var2 100))}}
- 先计算
result与第一个除法结果的和,再加上第二个除法结果:
{{plus (plus result (divide var1 10)) (divide var2 100)}}
为什么原写法无效
你之前的代码{{plus result (divide var1 10) plus (divide var2 100)}}不符合Handlebars助手的调用规则:每个plus只能接收两个参数,连续写入多个plus会被识别为无效参数,导致助手无法正确解析运算逻辑。
关于仅支持两值的plus实现多值求和
完全可以实现。只要将多值运算拆解为多次两值相加的嵌套组合,利用加法的结合律,就能完成任意数量值的求和操作。
内容的提问来源于stack exchange,提问作者user6902387
相关产品推荐
相关产品推荐

