Jinja: map() ν•„ν„°λŠ” λ¬Έμžμ—΄ "을 λ°˜ν™˜ν•©λ‹ˆλ‹€.<generator object="" do_map="" at="">"</generator>

에 λ§Œλ“  2014λ…„ 01μ›” 03일  Β·  7μ½”λ©˜νŠΈ  Β·  좜처: pallets/jinja

zonelistλ₯Ό λ‹€μŒκ³Ό 같은 데이터 ꡬ쑰둜 μ„€μ •ν•©λ‹ˆλ‹€.

[{'zones': ['pe.com', 'ps.de', 'p-s.de'], 'file': 'gm'},
 {'zones': ['p-e.net', 'ps.net', 'p-s.net'], 'file': 'grpc'}]

zonelist|map(attribute='file')을 μ‚¬μš©ν•  λ•Œ λ‹€μŒκ³Ό 같은 λ¬Έμžμ—΄μ΄ λ°˜ν™˜λ©λ‹ˆλ‹€.

<generator object do_map at 0x10bd730>

μ˜ˆμƒλ˜λŠ” λ™μž‘μ€ zonelist의 'file' 속성을 ν¬ν•¨ν•˜λŠ” λͺ©λ‘μ„ λ°˜ν™˜ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

ν•΄κ²° 방법이 μžˆλŠ” κ²ƒμœΌλ‘œ λ°ν˜€μ‘ŒμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ zonelist|map(attribute='file') |list λ˜λŠ” zonelist|map(attribute='file') |sort λ₯Ό μ‚¬μš©ν•˜λ©΄ μ˜ˆμƒ λͺ©λ‘μ΄ μƒμ„±λ©λ‹ˆλ‹€.

[gm, grpc]

Ansible 1.4.3κ³Ό ν•¨κ»˜ Jinja 2.7.1을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

일반적으둜 λ°˜λ³΅μ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” μ΄λŸ¬ν•œ κΈ°λŠ₯의 μ„±λŠ₯이 μ €ν•˜λ  수 μžˆμœΌλ―€λ‘œ 이것을 λ³€κ²½ν•˜κ³  싢지 μ•ŠμŠ΅λ‹ˆλ‹€. |list μˆ˜μ •ν•©λ‹ˆλ‹€.

λͺ¨λ“  7 λŒ“κΈ€

이것은 버그가 μ•„λ‹™λ‹ˆλ‹€. JSON을 좜λ ₯ν•˜λ €κ³  ν•©λ‹ˆκΉŒ?

예, λ‚΄ μ˜ˆμƒμ€ map()이 λͺ©λ‘μ„ λ°˜ν™˜ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. 그리고 버그가 μ•„λ‹Œκ°€μš”? 즉, map()은 |join λ˜λŠ” |list와 같은 λ‹€λ₯Έ ν•„ν„°κ°€ μΆ”κ°€λœ 쀑간 κΈ°λŠ₯으둜만 μ‚¬μš©λ˜μ–΄μ•Ό ν•©λ‹ˆκΉŒ? 흠. λ¬Έμ„œμ— λͺ…μ‹œμ μœΌλ‘œ λͺ…μ‹œλ˜μ–΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

Javascript에 직접 κ³΅κΈ‰ν•˜κΈ° μœ„ν•΄ μž„μ˜μ˜ Python 개체의 repr λ₯Ό μΈμ‡„ν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€. κ·€ν•˜μ˜ 경우 λ‚΄μš©μ— 따라 운이 쒋은 κ²ƒμ²˜λŸΌ λ³΄μ˜€μ§€λ§Œ μ‹€μ œλ‘œ μœ νš¨ν•˜μ§€ μ•Šμ€ JSON을 얻을 수 있으며 큰 λ³΄μ•ˆ 결함이 될 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. list 및 tojson ν•„ν„°λ₯Ό μΆ”κ°€ν•˜μ—¬ μœ νš¨ν•œ JSON을 κ°€μ Έμ˜€κ±°λ‚˜ 객체λ₯Ό JSON으둜 인코딩할 수 μ—†λŠ” 경우 μ˜ˆμ™Έλ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.

λŒ€λΆ€λΆ„μ˜ Python λ‚΄μž₯ ν•¨μˆ˜μ˜ repr κ°€ JSON λ°©μ‹μ΄λΌλŠ” 사싀은 μš°μ—°μ΄ μ•„λ‹ˆμ§€λ§Œ repr은 μ‹€μ œ ν”„λ‘œκ·Έλž¨ 논리에 μ˜μ‘΄ν•΄μ•Ό ν•˜λŠ” 것이 μ•„λ‹™λ‹ˆλ‹€.

λ˜ν•œ map κ°€ μ‹œν€€μŠ€λ³΄λ‹€ 더 ꡬ체적인 것을 λ°˜ν™˜ν•œλ‹€λŠ” 것을 μ•”μ‹œν•˜λŠ” Jinja λ¬Έμ„œμ˜ μ–΄λŠ κ³³μ—μ„œλ„ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€.

일반적으둜 λ°˜λ³΅μ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” μ΄λŸ¬ν•œ κΈ°λŠ₯의 μ„±λŠ₯이 μ €ν•˜λ  수 μžˆμœΌλ―€λ‘œ 이것을 λ³€κ²½ν•˜κ³  싢지 μ•ŠμŠ΅λ‹ˆλ‹€. |list μˆ˜μ •ν•©λ‹ˆλ‹€.

<generator object do_map at 0xdeadbeef> λ¬Έμ œμ— λŒ€ν•œ {{ ... | list }} μ†”λ£¨μ…˜μ— λŒ€ν•΄ μ•Œμ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

μ‹ κ³ ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰