I'm not proud of this, but it works:

|--- - name: List subtraction gather_facts: no hosts: localhost vars: selection: [ 1, 4, 5, 7] tasks: - name: Subtract one from each selection debug: msg: "{% set result = [] -%} {% for v in selection -%} {% set _ = result.append(v - 1) -%} {% endfor %}{{ result }}" |

On 1/21/22 8:14 AM, Dick Visser wrote:

Hi
I have this list of ints:

selection:
  - 1
  - 4
  - 5
  - 7

I'd like to subtract 1 from each item, so that I will end up with:

selection:
  - 0
  - 3
  - 4
  - 6

I'd like to avoid adding an intermediary set_fact loop to do the math.
If I define this filter:

def subtract(number, amount=1):
    return number - amount

Then I can accomplish what I want using:

selection|map('subtract')

which is reasonably clean and understandable.

But before I add a new filter - is there any other way to achieve this?


thx


--
Dick Visser
Trust & Identity Service Operations Manager
GÉANT
--

​

--
You received this message because you are subscribed to the Google Groups "Ansible 
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/bb94e855-25f3-d338-7ba1-8718fd92e10d%40gmail.com.

Reply via email to