Cách trực quan dễ dàng là lựa chọn
các phần tử bằng một chuỗi rỗng. Một cách khác hơi phản trực giác nhưng viết gọn hơn là chỉ cần viết Từ chối
phần tử (theo mặc định sẽ từ chối tất cả các giá trị không trống). Playbook sau đây minh họa cả hai giải pháp cho cùng một kết quả.
Lưu ý: các Từ chối
phương pháp ở đây sẽ chỉ hoạt động miễn là các phần tử không trống khác trong danh sách không được đánh giá là sai. Nếu bạn từng sai giá trị boolean, chúng cũng sẽ được giữ lại
- máy chủ: localhost
thu thập_facts: sai
lọ:
_names: ["","ABC","",""]
blanks_select: "{{ _names | select('==', '') | danh sách }}"
blanks_reject: "{{ _names | từ chối | danh sách }}"
nhiệm vụ:
- gỡ lỗi:
var: "{{ mục }}"
vòng:
- khoảng trống_chọn
- khoảng trống_từ chối
nào mang lại:
CHƠI [máy chủ cục bộ] ************************************************ ************************
NHIỆM VỤ [gỡ lỗi] ************************************************ ************************
được rồi: [localhost] => (item=blanks_select) => {
"ansible_loop_var": "mục",
"blanks_select": [
"",
"",
""
],
"item": "blanks_select"
}
được rồi: [localhost] => (item=blanks_reject) => {
"ansible_loop_var": "mục",
"blanks_reject": [
"",
"",
""
],
"item": "blanks_reject"
}
TÓM TẮT CHƠI *************************************************** ************************
localhost : ok=1 thay đổi=0 không truy cập được=0 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0