Calea intuitivă simplă este să Selectați elementele egale cu un șir gol. Un altul puțin contra-intuitiv, dar mai compact de scris este simplu respinge elemente (care în mod implicit vor respinge toate valorile care nu sunt goale). Următorul manual demonstrează ambele soluții care dau același rezultat.
Notă: cel respinge metoda de aici va funcționa doar atâta timp cât alte elemente nevide din listă nu sunt evaluate ca false. Dacă vreodată falseți valori booleene, acestea vor fi reținute și ele
- gazde: localhost
gather_facts: false
vars:
_nume: ["","ABC","",""]
blanks_select: „{{ _names | select('==', '') | list }}”
blanks_reject: „{{ _names | resping | list }}”
sarcini:
- depanare:
var: "{{ item }}"
buclă:
- blanks_select
- blanks_reject
Care dă:
PLAY [localhost] ************************************************ ************************
SARCINA [depanare] ************************************************ ************************
ok: [localhost] => (item=blanks_select) => {
"ansible_loop_var": "articol",
„blanks_select”: [
"",
"",
""
],
"item": "blanks_select"
}
ok: [localhost] => (item=blanks_reject) => {
"ansible_loop_var": "articol",
„blanks_reject”: [
"",
"",
""
],
"articol": "blanks_reject"
}
JOACĂ RECAPITULARE ************************************************ ********************
localhost: ok=1 schimbat=0 inaccesibil=0 eșuat=0 omis=0 salvat=0 ignorat=0