如何在范围函数中使用带有整数变量值的字符串?

时间:2019-07-18 07:04:18

标签: jinja2

如何使用jinja2连接字符串和数字。

Ansible 2.5。

我有两个变量Point1和Point2,它们都是整数变量(根据一些计算得出一些随机数)。 点1 = 5 点2 = 7

在这里,我想在范围功能中使用它们。我将如何使用它们。

{% for x in range(2) %}
---
{% for i in range('Point'+x|string) %} <!-- here I'm trying to access Point1 and Point2 variable values one by one-->
---
{% endfor %}
{% endfor %}

我也尝试了以下方法,但该值正变为零。

{% set point = ('point'+x|string)|int %}

范围函数需要整数值,但是在这里我给出了字符串值。

请建议我如何在范围函数中访问这些值。

有人可以建议吗?

1 个答案:

答案 0 :(得分:0)

在您的情况下,最好不要尝试按名称访问外部变量,而应使用另一种方法。看:

{% set points=[Point1, Point2] %}

{% for x in range(2) %}
# ---
{% for i in range(points[x]) %}
> ---
{% endfor %}
{% endfor %}

在第一行中,您将创建一个Point1Point2值的数组。接下来,在循环中,您需要做的就是按索引访问该数组。您将获得所需的结果,但花费的精力更少。